弱弱的一问,存储过程中可以执行拼接的SQL语句并返回结果吗?

qimini 2003-11-18 11:45:53
CREATE PROCEDURE xx
AS
declare @main nvarchar(1000),
@where nvarchar(100),
@x int
select @where = "1=1"

select @main = "select top 1 ID from YQGL_DWYQ where " + @where

--select @x = execute sp_executesql @main <------这里
GO

如果这样不可以实现,有好的实现的方法吗?(除了游标)
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qimini 2003-12-02
  • 打赏
  • 举报
回复
算啦~~~揭贴
qimini 2003-11-27
  • 打赏
  • 举报
回复
楼上的,如果是结果集呢?
zjcxc 元老 2003-11-18
  • 打赏
  • 举报
回复
CREATE PROCEDURE xx
@x int output
AS
declare @main nvarchar(1000),
@where nvarchar(100)
select @where = '1=1'
select @main = 'select top 1 @x=ID from YQGL_DWYQ where ' + @where
execute sp_executesql @main,N'@x int out',@x out
GO

--调用方法
declare @re int
exec xx @re out
select 结果=@re
jones129 2003-11-18
  • 打赏
  • 举报
回复
可使用RETURN 返回数值,或使用 OUTPUT 参数来将存储过程的局部游标传递回调用批处理、存储过程或触发器

34,594

社区成员

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

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