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.