0

how to get this code executed in SQLSERVER

BEGIN 
    EXECUTE('CREATE VIEW [dbo].[dummy] AS select cid,CASE 
        WHEN email IS NOT NULL
            THEN 'RESTRICTED' + right(email, patindex('%@%', reverse(email)))
        ELSE NULL
        END as email_id
from (
select 11 as cid,'abcd123@email.com' as email
) A')
END

2 Answers2

1

Double the single quotes:

BEGIN 
    EXECUTE('CREATE VIEW [dbo].[dummy] AS SELECT 1 AS Dummy ,''hello'' as name')
END
Wouter
  • 2,881
  • 2
  • 9
  • 22
  • yes this works! But, I'm trying to execute something like this: `code` **bold** BEGIN EXECUTE('CREATE VIEW [dbo].[dummy] AS select cid,CASE WHEN email IS NOT NULL THEN 'RESTRICTED' + right(email, patindex('%@%', reverse(email))) ELSE NULL END as email_id from ( select 11 as cid,'abcd123@email.com' as email ) A') END – vinay singh Jul 03 '20 at 11:47
0
    BEGIN 
        EXECUTE('CREATE VIEW [dbo].[dummy] AS select cid,CASE 
            WHEN email IS NOT NULL
                THEN ''RESTRICTED'' + right(email, patindex(''%@%'', reverse(email)))
            ELSE NULL
            END as email_id
    from (
    select 11 as cid,''abcd123@email.com'' as email
    ) A')
    END
K Viswagna
  • 99
  • 5