I am using the following script:
DECLARE @dbName NVARCHAR(20) = \'ABC\';
EXEC ( N\' USE \' + @dbName + \'
GO
-- Create Schema
CREATE SCHEMA meta
GO
-- Create L
Try removing comma after [EventType] [nvarchar](64) NULL,
and see if the error message changes.
So you have 2 problems:
meta.LogAudit
table columns definition.Try running this code:
DECLARE @dbName NVARCHAR(20) = 'ABC';
declare @sql nvarchar(max) = N'exec '+ @DBName + '..sp_executesql N''CREATE SCHEMA meta'''
execute(@sql)
declare @sql2 nvarchar(max) = '
-- Create Log Table
CREATE TABLE '+ @DBName + '.meta.LogAudit(
[EventDate] [datetime] NOT NULL DEFAULT (getdate()),
[EventType] [nvarchar](64) NULL
)'
exec sp_executesql @sql2,N''
It will allow you to programmatically create schema in the specified Database as opposite to using current database.