以下代码在Sql server中直接执行时工作正常:
DECLARE @cmd sysname
set @cmd = 'dir "C:\A_Projects"'
EXEC master..xp_cmdshell @cmd
但是当我尝试按如下方式创建存储过程时:
create procedure zz
(@cmdin varchar(255))
EXEC master..xp_cmdshell @cmdin
我收到了一条消息
'关键字'EXEC'附近的语法不正确。
为什么?
答案 0 :(得分:1)
create procedure zz (@cmdin varchar(255))
AS --missed this
EXEC master..xp_cmdshell @cmdin