我使用一下的语句创建存储过程,为什么会不对?如果要实现我想要的结果,该怎么写?谢谢!
if exists(select * from sysobjects where name= 'prHello ' and type= 'p ')
begin
alter procedure prHello
as
select 'alter '
end
else
begin
create procedure prHello
as
select 'create '
end
错误提示:
服务器: 消息 156,级别 15,状态 1,行 3
在关键字 'procedure ' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 9
在关键字 'procedure ' 附近有语法错误。
------解决方案--------------------
if exists(select * from sysobjects where name= 'prHello ' and type= 'p ')
begin
exec( '
alter procedure prHello
as
select ' 'alter ' ' ')
end
else
begin
exec( 'create procedure prHello
as
select ' 'create ' ' ')
end
------解决方案--------------------
用动态实现吧,一个批处理中不能与别的语句组合
if exists(select * from sysobjects where name= 'prHello ' and type= 'p ')
begin
exec( 'alter procedure prHello
as
select ' 'alter ' '
end ')
end
else
begin
exec( 'create proc prHello
as
select ' 'create ' ' ')
end