我是一个初学者,遇到一个问题,希望大家帮我解决一下。
一个能检测数据同步性的存储过程:CREATE PROCEDURE dbo.up_UpdatePublisherName 

@pub_id char(4), 
@pub_name varchar(40), 
@Original_pub_name varchar(40) 

AS 
if exists(select pub_id 
 from publishers 
where (pub_id = @pub_id) AND (pub_name = @Original_pub_name)) 
Begin 
 UPDATE publishers SET pub_name = @pub_name 
 WHERE (pub_id = @pub_id) 
End 
RETURN 
运行后出现以下提示:消息 102,级别 15,状态 1,过程 up_UpdatePublisherName,第 9 行
' ' 附近有语法错误。
消息 102,级别 15,状态 1,过程 up_UpdatePublisherName,第 13 行
' ' 附近有语法错误。怎么回事啊??

解决方案 »

  1.   

    检查一下你的空格是不是在智能ABC下面输入进入的,那个是全角字符,这个空格不合适~
      

  2.   

    Alter PROCEDURE dbo.up_UpdatePublisherName 
    @pub_id char(4), 
    @pub_name varchar(40), 
    @Original_pub_name varchar(40) 
    AS 
    if exists(select pub_id from publishers where (pub_id = @pub_id) AND (pub_name = @Original_pub_name))
    begin
    UPDATE publishers SET pub_name = @pub_name WHERE (pub_id = @pub_id)
    end 
      

  3.   

    CREATE PROCEDURE dbo.up_UpdatePublisherName 

    @pub_id char(4), 
    @pub_name varchar(40), 
    @Original_pub_name varchar(40) 

    AS if exists(select pub_id from publishers 
    where pub_id = @pub_id AND pub_name = @Original_pub_name) 
    begin
    UPDATE publishers SET pub_name = @pub_name WHERE pub_id = @pub_id
    End
    RETURN 
    --有几个空格是全角