存储过程中判断Select是否为空应该怎么写?

jadesun 2002-10-31 09:57:00
存储过程中判断Select是否为空应该怎么写?我原来用的是游标的方法,但是觉得有一些麻烦。
比如:

Declare @number_id int
Declare @Temp int
Declare employ_cursor cursor for
Select number_id From client_info Where number_id = @Temp
Open employ_cursor
Fetch next from employ_cursor
Into @Temp
Close employ_cursor
Deallocate employ_cursor

If @Temp is null
Select @number_id = 0
Else
Select @number_id = @Temp


有什么办法能直接判断Select number_id From client_info Where number_id = @Temp为NULL呢?

...全文
318 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jadesun 2002-11-01
  • 打赏
  • 举报
回复
谢谢大家,结贴
jadesun 2002-10-31
  • 打赏
  • 举报
回复
我这样写了一段

Select number_id From client_info Where number_id = 111111
If @@rowcount = 0
print '空值'
Else
print '有值'

结果没有打印出是否空值给我。请帮我修改一下,谢谢..
icevi 2002-10-31
  • 打赏
  • 举报
回复
jadesun(玉阳) :对select 可以用@@rowcount的。
jadesun 2002-10-31
  • 打赏
  • 举报
回复
to 老衲:

对于Select使用@@rowcount可能不行吧,它不会返回影响的行数。
renmao 2002-10-31
  • 打赏
  • 举报
回复
你可以这样吗
Select isnull(number_id,0) From client_info Where number_id = @Temp
蓝天 2002-10-31
  • 打赏
  • 举报
回复
if @@rowcount=0
蓝天 2002-10-31
  • 打赏
  • 举报
回复
@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

cacoda 2002-10-31
  • 打赏
  • 举报
回复
declare @icount int
Select @icount =count(number_id) From client_info Where number_id = @Temp
if @icount=0
...
...
arron_zhang 2002-10-31
  • 打赏
  • 举报
回复
if exists(
Select 1 From client_info Where number_id is null)
Do something....
Else
Do somethinh....
Jameszht 2002-10-31
  • 打赏
  • 举报
回复
语法没错,可以实现
如果你的系统是大小写敏感的@@ROWCOUNT要大写
icevi 2002-10-31
  • 打赏
  • 举报
回复
不用INTO也可以啊,你是不是在查询分析器里选的“以表格显示结果”?
蓝天 2002-10-31
  • 打赏
  • 举报
回复
Select number_id into #tmp From client_info Where number_id = 111111
If @@rowcount = 0
print '空值'
Else
print '有值'

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧