问题描述
ALTERPROCEDURE[dbo].[SelectUser]@Name2varchar(20),@Pwdvarchar(20),@Name1varchar(20)ASDeclare@temp1varchar(500)Set@temp1='SELECTidFROM'+@Name1+'WhereName='''+@Name2+'''andPwd='''+@Pwd+''''Exec(@temp1)Declare@valstrvarchar(300)Set@valstr=...?return@valstr------以上过程中@valstr需要返回查询的数据,比如SELECTid,name,pwd,...FROM'+@Name1+'WHEREName='''+@Name2+'''andPwd='''+@Pwd+''''将与查询匹配的id,name,pwe,...连接起来存入@valstr中并返回。注意:这里的数据表名是@Name1参数,执行是用Exec(Select...)来执行的!
解决方案
解决方案二:
ALTERPROCEDURE[dbo].[SelectUser]@Name2varchar(20),@Pwdvarchar(20),@Name1varchar(20)outputASset@Name1='basdfa'return@Name1
解决方案三:
up
解决方案四:
你带个输出参数
解决方案五:
劳驾,写出来!
解决方案六:
你要定义一个参数并让他作为返回值的.如@Name1varchar(20)output有output才能把他作为值给返回
解决方案七:
Set@temp1='SELECT@strOUT=idFROM'+@Name1+'WhereName='''+@Name2+'''andPwd='''+@Pwd+''''Execsp_executesql@temp1,N'@strOUTvarchar(300)OUTPUT',@strOUT=@valstrout;print@valstr
解决方案八:
ALTERPROCEDURE[dbo].[SelectUser]@Name2varchar(20),@Pwdvarchar(20),@Name1varchar(20),@valstrvarchar(300)outputASDeclare@temp1varchar(500)Set@temp1='SELECT@strOUT=idFROM'+@Name1+'WhereName='''+@Name2+'''andPwd='''+@Pwd+''''Execsp_executesql@temp1,N'@strOUTvarchar(300)OUTPUT',@strOUT=@valstrout;print@valstrreturn0;