I tried this but it only gives me the first column.... what am I doing wrong?
-- START HERE
DECLARE @SQL NVARCHAR(MAX)
DECLARE @TBLNAME VARCHAR(100)
DECLARE TBLS CURSOR FOR
SELECT DISTINCT [TABLE_NAME]
FROM [UNFI_Canada].[dbo].[Table_Schemas]
OPEN TBLS
FETCH NEXT
FROM TBLS
INTO @TBLNAME
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @TBLNAME
--DECLARE @SQL VARCHAR(MAX)
--DECLARE @TBLNAME VARCHAR(100)
--SET @TBLNAME = 'HHKORDAP'
SELECT @SQL = Column_Name + ' ' + DATA_TYPE + ' (' + [LENGTH] +
CASE LEN(NUMERIC_SCALE)
WHEN 0
THEN ''
ELSE ',' + NUMERIC_SCALE
END + ') ,'
FROM [UNFI_Canada].[dbo].[Table_Schemas]
WHERE TABLE_NAME = @TBLNAME
SET @SQL = 'CREATE TABLE DBO.' + @TBLNAME + '(' + @SQL + ')'
PRINT @SQL
--EXEC (@SQL)
FETCH NEXT FROM TBLS
END
CLOSE TBLS
DEALLOCATE TBLS