RETURN语句一般是用在存储过程里,你这样直接写肯定是抱错的。
解决方案 »
- 用什么来做唯一的ID
- SQL SERVER 2005的小问题 只有10分了 麻烦大家指点下 郁闷到极点了
- 数据类型问题
- 此需求如果實現?
- 急,急,急!!!SQL的行列转换问题
- [Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server 不存在或访问被拒绝
- 送分,请教一基本的SQL语句,如何限制自己定义的数据(money)的小数位数
- 100分求一简单SQL语句
- (请大力帮忙)为何我在VB中执行SQL2000中的存取过程,而没有得到任何数据集?(马上给分)
- 关于sqlserver日志有些疑惑??
- sp_rename问题,急需帮助,谢谢大家
- 急。。。查询的结果集列计算问题!
asif exists(select * from sys.TaUsers where id=1)
return 1
else
return 0go--调用declare @i int
exec @i = p_test
select @i
set @i = 0
select @i = count(*) from TaUsers where id=1
if @i = 0
print '0'
else
print '1'
if exists (select count(*) from tb_Admin where id=45)
select 0
else
select 1
-->
if not exists(select 1 from TaUsers where id=1)
-->or
if (select count(*) from TaUsers where id=1)=0
return 1
else
return 0
在此上下文中不能使用带有返回值的 RETURN 语句。
服务器: 消息 178,级别 15,状态 1,行 4
在此上下文中不能使用带有返回值的 RETURN 语句。
--1.
create proc test
@ErrorCode int output
as
if exists (select 1 from TaUsers where id=1)
begin
set @ErrorCode = 0
return
end
else
begin
set @ErrorCode = 1
return
end
go
--2.
create proc test
@ErrorCode int output
as
if (select count(*) from TaUsers where id=1)=0
begin
set @ErrorCode = 0
return
end
else
begin
set @ErrorCode = 1
return
end
go
--3.
create proc test
@ErrorCode int output
as
set @ErrorCode = case when exists (select 1 from TaUsers where id=1) then 0 else 1 end
go
可以正常运行,得到0或1值。但这和用select count(*) from TaUsers where id=1差不多。
你这段程序是写在哪儿的?
如果不是在函数或者存储过程里,这个return 就大有问题了.换句话说,条件满足时,你准备干嘛?