SP抛出错误

时间:2018-08-21 09:16:53

标签: sql-server tsql

我正在编写一个SP来设置state和state_code,如下所示:

USE [databasename]
BEGIN TRY
          BEGIN TRAN           
          -- Setup Address based on server name
          IF (@@SERVERNAME IN ('Rxxxxx') ) --environment
            BEGIN
                   ALTER PROCEDURE [dbo].[sp_tm_get_state_code]
                    @state      CHAR(2),
                    @state_code CHAR(2) OUTPUT
                    AS
                    BEGIN
                        -- SET NOCOUNT ON added to prevent extra result sets from
                        -- interfering with SELECT statements.
                        SET NOCOUNT ON;

                        -- Insert statements for procedure here
                        SET @state_code = CASE (@state)
                            WHEN 'SY' THEN '52'
                            ELSE '00'
                        END
                        IF @state_code = '00'
                        BEGIN
                            PRINT 'Invalid state abbreviation: =' + @state + '='
                            RAISERROR (N'Invalid state abbreviation: @state =%s=',
                                16, 1, @state)
                            RETURN -1
                        END
                    END             
            END
          ELSE
                   BEGIN
                             PRINT 'INVALID ENV, try again!!!'
                   END
          --COMMIT TRAN
END TRY

但是我在

附近遇到错误
'BEGIN
                   ALTER PROCEDURE..' 
as 'Syntax error near BEGIN.Expecting EXTERNAL'

是由于这里的语法问题还是其他问题? 该如何解决?

0 个答案:

没有答案