为VIEW创建存储过程

时间:2019-08-22 18:50:32

标签: sql sql-server

我正在尝试为视图创建存储过程,如下所示,但是它引发了错误

  

“ N”附近的语法不正确

如果我删除了引号,则它起作用。请建议我如何将N值放在引号中。

ALTER PROCEDURE [dbo].[SP_VIEW] 
AS
BEGIN
    EXECUTE('
        CREATE VIEW [dbo].[SP_VIEW]
        AS
            SELECT * 
            FROM [dbo].[ACTIVITY] 
            WHERE IND = 'N'')
END

1 个答案:

答案 0 :(得分:1)

SQL Server不支持此处字符串,因此您必须将每个'加倍:

ALTER PROCEDURE  [dbo].[SP_VIEW] 
AS
BEGIN
    EXECUTE('
CREATE VIEW [dbo].[SP_VIEW]
AS
SELECT * FROM [dbo].[ACTIVITY] 
where IND=''N''
');
END

天蓝色反馈:Add support for here-strings i T-SQL