haohetao 发表于 2013-1-29 23:01:36

SQL Server中动态SQL返回值

CREATE PROCEDURE pri_user @mname varchar(50),@uname varchar(50),@pname varchar(20),@pri bit=0 outputasbegindeclare cur_uname cursor for select groupID from member where userName=@unamedeclare @gid intopen cur_unamefetch next from cur_uname into @giddeclare cur_mname cursor for select moduleID from module where moduleName=@mnamedeclare @mid intopen cur_mnamefetch next from cur_mname into @middeclare @sql nvarchar(1000)declare @value bitset @sql=N'select @value=isnull(['+@pname+N'],0) from access where moduleID='+convert(varchar(1000),@mid)+N' and groupID='+convert(varchar(1000),@gid)exec sp_executesql @sql,N'@value bit OUTPUT',@value outputset @pri=convert(int,@value)close cur_unamedeallocate cur_unameclose cur_mnamedeallocate cur_mnamereturn @@Fetch_Statusend
页: [1]
查看完整版本: SQL Server中动态SQL返回值