EXEC

dengNeeo 2010-09-14 02:10:51
alter proc ProductSearch
(
@type nvarchar(50),
@KeyWord nvarchar(255)
)
as
EXEC('select *,bookcost*bookRebate as Nowcost from book where '+ @type+' like ''%'+ @KeyWord+'%''')
go
为什么存储过程要用EXEC
什么情况下才用EXEC
说明理由 重分奖赏 顶者1分
...全文
121 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
baiying15 2010-09-14
  • 打赏
  • 举报
回复
先顶一哈
ChinaJiaBing 2010-09-14
  • 打赏
  • 举报
回复

执行参数化查询(当from是某个对象是参数时..)
Mr_Nice 2010-09-14
  • 打赏
  • 举报
回复
EXECUTE

执行 Transact-SQL 批中的命令字符串、字符串或执行下列模块之一:系统存储过程、用户定义存储过程、标量值用户定义函数或扩展存储过程。

1. 为什么存储过程要用EXEC ?
语法使然规则而已。

2. 什么情况下才用EXEC ?
非动态不能解决的时候 引用2楼水哥这个经典。
村长_乐 2010-09-14
  • 打赏
  • 举报
回复
abuying 2010-09-14
  • 打赏
  • 举报
回复
动态SQL时,较为复杂的SQL。
存储过程也可exec 存储过程名 参数 调用。
feegle_develop 2010-09-14
  • 打赏
  • 举报
回复
你上面已经列出一种形式了撒
执行字符串的时候用EXEC
执行存储过程的时候用EXEC
dengNeeo 2010-09-14
  • 打赏
  • 举报
回复
我是问存储过程里面什么时候用EXEC
王向飞 2010-09-14
  • 打赏
  • 举报
回复

可以这么说,就是每次查询结果可能会由于表中的数据集情况而产生不同的结果。
而传不传参数要看你SQL怎么写的了
晓风残月0110 2010-09-14
  • 打赏
  • 举报
回复
20人之前结贴
喜-喜 2010-09-14
  • 打赏
  • 举报
回复
“什么情况下才用EXEC”

需要拼接 SQL 语句才能获得想要的结果的时候就可以用,就是动态 SQL 解决问题
dengNeeo 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ws_hgo 的回复:]
SQL code
有参数拼接的时候
也就是常说的
动态sql的时候
用exec
[/Quote]
你所谓的动态是什么呢
有人说 只有当字段传进来的时候才要用exec 不是字段 加布加 都一样 请弄清我的问题 然后回答
王向飞 2010-09-14
  • 打赏
  • 举报
回复
1分保底。
水族杰纶 2010-09-14
  • 打赏
  • 举报
回复
非动态不能解决的时候
ws_hgo 2010-09-14
  • 打赏
  • 举报
回复
有参数拼接的时候
也就是常说的
动态sql的时候
用exec

34,587

社区成员

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

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