Home Forums SQL Server 7,2000 General ''CREATE VIEW'' does not allow specifying the database name as a prefix to the object name RE: ''''CREATE VIEW'''' does not allow specifying the database name as a prefix to the object name

  • SET QUOTED_IDENTIFIER ON

    GO

    SET ANSI_NULLS ON

    GO

    ALTER   procedure SP_CREATE_VIEW_TEST

    @dbname sysname,

    @Klant_ID bigint

    as

    DECLARE @cmd varchar(3000)

     

    SET @cmd = 'USE ' + @dbname + ';GO;CREATE VIEW FACTUURGEGEVENS_' + convert(varchar,@Klant_ID) + ' as

    SELECT  ikp.IKP_GROEPNAAM,

     ikp.IKP_NAAM,

     ks.KS_NUMMER,

     ks.KS_NAAM,

     lev.LEV_CREDITEURNUMMER,

     lev.LEV_NAAM,

     lev.LEV_GROEPNAAM,

     org.ORG_KOSTENPLAATS_NUMMER,

     org.ORG_KOSTENPLAATS_NAAM,

     org.ORG_AFDELING_NAAM,

     adm.ADM_CODE,

     ft.FEIT_BOEKSTUKNUMMER,                    

     ft.FEIT_FACTUUROMSCHRIJVING,

     ft.FEIT_FIN_JAAR,

     ft.FEIT_FACTUUR_REGEL_BEDRAG,

     ft.FEIT_FACTUUR_NUMMER

    FROM  '+ @dbname +'.dbo.DIM_ADMINISTRATIE adm INNER JOIN

     '+ @dbname +'.dbo.FEIT_BOEKREGEL ft ON adm.ADM_KEY = ft.ADM_KEY INNER JOIN

     '+ @dbname +'.dbo.DIM_INKOOPPAKKET ikp ON ft.IKP_KEY = ikp.IKP_KEY INNER JOIN

     '+ @dbname +'.dbo.DIM_LEVERANCIER lev ON ft.LEV_KEY = lev.LEV_KEY INNER JOIN

     '+ @dbname +'.dbo.DIM_ORGANISATIE org ON ft.ORG_KEY = org.ORG_KEY INNER JOIN

     '+ @dbname +'.dbo.DIM_KOSTENSOORT ks ON ft.KS_KEY = ks.KS_KEY'

    EXEC (@cmd)

     

    GO

    SET QUOTED_IDENTIFIER OFF

    GO

    SET ANSI_NULLS ON

    GO

    I still get:

    Server: Msg 170, Level 15, State 1, Line 1

    Line 1: Incorrect syntax near 'GO'.

    Server: Msg 111, Level 15, State 1, Line 1

    'CREATE VIEW' must be the first statement in a query batch.

    Stored Procedure: DB_PRESMON_REPOS.dbo.SP_CREATE_VIEW_TEST

     Return Code = 0