我想要检索最近添加的客户.我没有任何列存储添加行的日期/时间,而我的主键是Cust_ID,它不是IDENTITY列,也不一定按升序输入.
这是我的表,Customer并且想象已按此顺序添加了三行:
Cust_ID Cust_Name Cust_Age
-------------------------------------
2 C 23
6 A 25
3 B 22
Run Code Online (Sandbox Code Playgroud)
在上面的例子中我想得到最后一条记录(B).SQL Server中是否有任何预定义函数将返回表的最后一行(不依赖于升序)?
我创建了一个名为Employee的表和名为Branch的表的数据库,Employee和Branch之间存在多对一的关系,我想进行查询以选择最大员工数量的分支
这是一个.cs页面,我有两个函数要执行,但错误是函数没有被执行,如果我评论一个函数,另一个将工作,两个都没有执行,它给出一个常见的错误 object reference not set to an instance of an object
下面指定的是.cs页面.
Business bus = new Business();
try
{
intResult = bus.create_user(ua);
}
catch (Exception ex)
{
}
finally
{
bus = null;
}
int intres = 0;
try
{
intres = bus.fninsertuser_role_map(ua, role, i);
}
catch (Exception ee)
{
}
finally
{
bus = null;
}
Run Code Online (Sandbox Code Playgroud)
数据访问对象
public int create_user(UserMaster ua)
{
// Connection connect = new Connection();
try
{
return cs.create_user(ua);
}
catch (Exception e)
{
throw e; …Run Code Online (Sandbox Code Playgroud) 我有一个表"INSERTIF",看起来像这样 -
id value
S1 s1rocks
S2 s2rocks
S3 s3rocks
Run Code Online (Sandbox Code Playgroud)
在将一行插入此表之前,我想检查给定的ID是否存在.如果它不存在,则插入.否则,只需更新值即可.我想以线程安全的方式做到这一点.你能告诉我我的代码是否正确吗?我尝试了它,它的工作原理.但是,我想确保我没有遗漏任何性能问题.
编辑1-我想使用此代码一次插入数百万行.每个insert语句都包含在我显示的代码中.
编辑2 -我不想使用我的代码的UPDATE部分,只插入就足够了.
我不想使用MERGE,因为它只适用于SQL Server 2008及更高版本
谢谢.
代码 -
-- no check insert
INSERT INTO INSERTIF(ID,VALUE)
VALUES('S1', 's1doesNOTrock')
--insert with checking
begin tran /* default read committed isolation level is fine */
if not exists
(select * from INSERTIF with (updlock, rowlock, holdlock)
where ID = 'S1')
BEGIN
INSERT INTO INSERTIF(ID,VALUE)
VALUES('S1', 's1doesNOTrock')
END
else
/* update */
UPDATE INSERTIF
SET VALUE = 's1doesNOTrock'
WHERE ID = …Run Code Online (Sandbox Code Playgroud) 我想在SQL Server 2008中使用caseafter where子句; 我怎么能像它一样使用它
select *
from MPR
where
case when @min >= 0
then MainComponent_Id = @mainc and SubComponent_Id = @subcomp
else MainComponent_Id = @mainc and SubComponent_Id = @subcomp and MinorComponent_Id = @minorc
end
end
Run Code Online (Sandbox Code Playgroud)
我正在使用存储过程,并且在我的存储过程中,如果minorcomponent_id值为0,那么它将添加1,否则其中2将起作用.
我曾经努力过,但在近乎情况下给出了错误.
怎么解决?
谢谢
我在SQL Server 2008数据库中有这个表值函数:
Create FUNCTION dbo.fct1(@Code varchar(10) )
RETURNS TABLE
AS
RETURN
(
select CODE , NOM
from CODIF
where NUMERO = 'TP'
and CODE = @Code
)
Run Code Online (Sandbox Code Playgroud)
当我从我的代码中调用它时:
sSQL = "select * from fct1(" & Code & ")"
Dim cmd As New SqlCommand(sSQL, Connection)
If Connection.State <> ConnectionState.Open Then Connection.Open()
Dim rd As SqlClient.SqlDataReader
rd = cmd.ExecuteReader()
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
列名无效:'EA2'
我需要知道 :
更具体地说,对于问题和标签之间的多对多关系作为sql server表(包括帮助表QuestionsWithTags),需要一个query/sp,它返回所有具有以下标记集"t1","t2"的问题. "和"t3".鉴别器没有任何标签,但所有这些标签都不少于此.
提前致谢.
id record_name record_value
-------------------------------------
1001 price1 12
1001 price2 1
1001 price3 8
1201 price1 18
1201 price2 2
1201 price3 6
1601 price1 12
1601 price2 8
1601 price3 8
Run Code Online (Sandbox Code Playgroud)
产量
id price1 value price2 value price3 value
--------------------------------------------------------------------------
1001 price1 12 price2 1 price3 8
1201 price1 18 price2 2 price3 6
Run Code Online (Sandbox Code Playgroud)
我收到了错误
子查询返回的值超过1.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.
我用过这个查询:
select distinct
a.id, 'Price1',
(select record_value
from table_name
where id = a.id and record_name = 'price1') as 'value1',
'Price2',
(select record_value
from …Run Code Online (Sandbox Code Playgroud) 我有一个表格,其中包含存储日期和时间的列.我需要编写一个查询来只获取该列的日期,
SELECT CAST(CONVERT(VARCHAR, LoginTime, 101) AS datetime) FROM AuditTrail
Run Code Online (Sandbox Code Playgroud)
但是,当我运行查询时,我收到此错误:
将varchar数据类型转换为日期时间数据类型会导致超出范围的值.
列中的数据是datetime ex:2012-06-18 12:08:04.000所以我只需要提取日期并删除[Logintime]列是数据时间格式的时间注释
你能帮我吗?
我需要一个SQL查询循环,日期减少日期.
StartDate : 3/15/2015 [Date param] [MM/dd/yyyy]
EndDate : 3/5/2015 [Date param]
Operation : Decrement by a day toward EndDate
BreakDate : 3/10/2015 [Date param]
Run Code Online (Sandbox Code Playgroud)
当前日期(循环)应从开始日期到结束日期打印一天减量
如果到达中断日期,那么循环应该自行停止[内部循环]
以上输入的示例结果:
3/15/2015
3/14/2015
3/13/2015
3/11/2015
3/10/2015
Run Code Online (Sandbox Code Playgroud)
请帮忙.
sql-server-2008 ×10
sql ×8
sql-server ×7
ado.net ×1
asp.net ×1
c# ×1
datetime ×1
select ×1
vb.net ×1