use test
CREATE PROCEDURE Addword 
     @gbName varchar(50),
     @gbCity varchar(50),
     @gbMail varchar(50),
     @gbQQ varchar(50),
     @gbURL varchar(50),
     @gbTitle nvarchar(200),
     @gbContent ntext
AS    
        INSERT INTO Gbook(gName,gCity,gMail,gQQ,gURL,gTitle,gContent)
            VALUES(@gbName,@gbCity,@gbMail,@gbQQ,@gbURL,@gbTitle,@gbContent) 
GO这是一个添加新留言的存储过程,但是在企业管理器里执行的时候怎么一直提示说
“消息 111,级别 15,状态 1,过程 Addword,第 12 行
'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。”
呢?

解决方案 »

  1.   

    use test
    go
    CREATE PROCEDURE Addword 
         @gbName varchar(50),
         @gbCity varchar(50),
         @gbMail varchar(50),
         @gbQQ varchar(50),
         @gbURL varchar(50),
         @gbTitle nvarchar(200),
         @gbContent ntext
    AS    
            INSERT INTO Gbook(gName,gCity,gMail,gQQ,gURL,gTitle,gContent)
                VALUES(@gbName,@gbCity,@gbMail,@gbQQ,@gbURL,@gbTitle,@gbContent) 
    GO
      

  2.   

    use test
    GO
    CREATE PROCEDURE Addword
      

  3.   

    一定是前面还有什么语句。
    在Create之前加一个Go来执行前面的语句。
    use test
    Go ---------------
    CREATE PROCEDURE Addword 
         @gbName varchar(50),
         @gbCity varchar(50),
         @gbMail varchar(50),
         @gbQQ varchar(50),
         @gbURL varchar(50),
         @gbTitle nvarchar(200),
         @gbContent ntext
    AS    
            INSERT INTO Gbook(gName,gCity,gMail,gQQ,gURL,gTitle,gContent)
                VALUES(@gbName,@gbCity,@gbMail,@gbQQ,@gbURL,@gbTitle,@gbContent) 
    GO
      

  4.   

    加了GO以后更诡异了:消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gName' 无效。
    消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gCity' 无效。
    消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gMail' 无效。
    消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gQQ' 无效。
    消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gURL' 无效。
    消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gTitle' 无效。
    消息 207,级别 16,状态 1,过程 Addword,第 10 行
    列名 'gContent' 无效。