• DECLARE @sql varchar(max), @Database1 varchar(300)

    set @Database1 = 'tempdb'

    SET @sql='

    USE '+@Database1+';

    IF EXISTS (SELECT 1 FROM SYS.VIEWS WHERE NAME =''test_view'')

    BEGIN

    DROP VIEW test_view

    PRINT ''VIEW EXISTS''

    END'

    PRINT @sql

    --EXEC(@sql)

    SET @sql=''

    SET @sql='USE '+@Database1+'

    ;

    CREATE VIEW test_view

    AS

    BEGIN

    SELECT TOP 50 * FROM TEST_TABLE

    '

    PRINT @sql

    --EXEC(@SQL)

    This code wiil work for you.

    Now home work for you, find what i have changed in you code 😛

    -------Bhuvnesh----------
    I work only to learn Sql Server...though my company pays me for getting their stuff done;-)