大体语句是这个样子的。。
declare @i int
select @i = ID From Table1 Where ID = 1if(@i=1)
.......
.......
然后使用if语句比较时会产生错误
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。 改成如下赋值同样不得解决set @i = (select top 1 ID From Table1 Where ID = 1)知道的麻烦解答下吧。
declare @i int
select @i = ID From Table1 Where ID = 1if(@i=1)
.......
.......
然后使用if语句比较时会产生错误
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。 改成如下赋值同样不得解决set @i = (select top 1 ID From Table1 Where ID = 1)知道的麻烦解答下吧。
解决方案 »
- 一个sql sever 2005删除记录的问题
- 如果更新到数据库的值是个空值,那么就不更新这个字段,能用存储过程实现吗,如果能给个例子啊,我求求你了
- SQLServer复制,遇到数据量大的表,总是快照失败,应如何实现大数据量的复制。
- 求一个我想应该不复杂的SQL语句,请大家帮忙!谢谢!
- ~~~~~3个不同地方的数据库设置了复写,经常隔几个月会有记录莫名的丢失,请高手给点宝贵意见
- 初学,请教个存储过程问题
- sql server 的全文搜索一般使用场合是什么?(本人没接触过)
- 求時間段的第一筆數據跟最後一筆數據
- 数据行转列问题
- 谁能帮我简单介绍一下SQLSERVER怎么用啊?我是一只超级菜鸟装上了不会用。
- sql output输出参数
- 请教一个日期问题
@start int,
@end intAS
set nocount on
declare @Tables table(id int identity(1,1),nid int)
set rowcount @End
if(@productclassid=0)
Begin
insert into @Tables(nid)
select ID from T_Product order by ID desc
End
else
begin
declare @i int
set @i = (select max(fatherid) from T_ProductClass where id=@productclassid)
if(@i=0)
begin
insert into @Tables(nid)
select ID from T_Product
where productclassid = (select id from T_ProductClass where fatherid=0)
order by ID desc
end
else
begin
insert into @Tables(nid)
select ID from T_Product
where productclassid=@productclassid
--and productclassid = (select fatherid from T_ProductClass where id=@productclassid)
order by ID desc
end
end
select *
From T_Product O,@Tables t
where
O.ID=t.nid And t.id between @Start And @End order by t.id RETURN
--select fatherid from T_ProductClass where id=7,1
参数值:1 1 11
@i 值 0
运行到if(@i=0)语句时直接跳出条件判断
begin
insert into @Tables(nid)
select ID from T_Product
where productclassid = (select id from T_ProductClass where fatherid=0)
order by ID desc
end
where productclassid = (select id from T_ProductClass where fatherid=0)