昨天面试题目 求一个存储过程的实现-------------- 把查询语句当做输入参数

v41dugu 2008-12-16 01:15:10
我想把查询语句当做输入参数 然后存储过程执行这个查询语句 不知道可以不?
create procedure pd_my sql_str varchar(200)
as
............
在这里把sql_str当做sql语句来执行 应该怎么实现啊?
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
水族杰纶 2008-12-16
  • 打赏
  • 举报
回复
if object_id('TB')IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB(ID INT IDENTITY,[NAME] VARCHAR(10))
INSERT TB SELECT 'A'
INSERT TB SELECT 'B'
if object_id('PROC_TEST')IS NOT NULL DROP PROC PROC_TEST
GO
create procedure PROC_TEST
@sql_str varchar(200)
as
EXEC(@SQL_STR)
GO
EXEC PROC_TEST @sql_str='SELECT * FROM TB'
/*ID NAME
----------- ----------
1 A
2 B

(影響 2 個資料列)*/
v41dugu 2008-12-16
  • 打赏
  • 举报
回复
呵呵 原来这样啊。。。 晕哦
woaixueyu 2008-12-16
  • 打赏
  • 举报
回复
很简单啊,exec sql_str
liangCK 2008-12-16
  • 打赏
  • 举报
回复
EXEC(@sql_str)

变量是用@开头的
fcuandy 2008-12-16
  • 打赏
  • 举报
回复
exec(@sql_str)
purexiafeng 2008-12-16
  • 打赏
  • 举报
回复
exec(sql_str) 就好了

34,591

社区成员

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

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