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

  • I tried this:

     

     

    ALTER procedure SP_CREATE_VIEW_TEST

    @dbname sysname,

    @Klant_ID bigint

    as

    DECLARE @cmd varchar(3000)

     

    SET @cmd = 'USE ' + @dbname + ';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)

    I get the message:

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