如何判断存储过程变量的值是否为空?

xugang96 xugang96 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如何判断存储过程变量的值是否为空?主要判断员工的字段输入值是否为空,我在另外一个表CMSFIE里定义了哪些字段可以为空哪些字段不能为空,然后在员工资料的保存中取这个字段的值来和CMSFIE中存储的是否为空标志进行比对;

模拟过程如下:
create proc myepatest
@EPA002 varchar(10), --员工信息字段
@EPA003 varchar(80), --员工信息字段
@EPA004 varchar(40) --员工信息字段
as
declare @R varchar(1000)
declare @fieldname varchar(10) --CMSFIE表中存储的字段名
declare @nsql nvarchar(1000)

declare mycursor cursor for
select (substring(FIE003,1,6)) Field from CMSFIE where FIE002='vCMSEPA' and FIE019='1' //从CMSFIE表中读出必填字段名

open mycursor

fetch next from mycursor into @fieldname

while (@@FETCH_STATUS=0)
begin
set @nsql='if (@'+@fieldname+'='''') or (@'+@fieldname+' is null) set @R=''x'' else set @R= ''y'' '
EXEC(@nSQL)
fetch next from mycursor into @fieldname
end
close mycursor
deallocate mycursor


---执行时报错 @EPA002,@EPA003 ,@R变量没有定义
该如何定义
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
xugang96
疑难问题 22,298 成员 121,727 内容