Я создал хранимую процедуру, которая создает таблицу во время выполнения. Столбцы таблиц и их типы данных для этой динамической таблицы поступают из другой таблицы, уже установленной в базе данных.Хранимая процедура SQL Server с синтаксической ошибкой
Я вызываю эту хранимую процедуру из кода приложения консоли C#. Хранимая процедура бросает синтаксическую ошибку, и я совершенно не могу понять, что вызывает эту синтаксическую ошибку.
Это код хранимой процедуры Я написал:
CREATE procedure [dbo].[sproc_TableExists]
@TableName NVARCHAR(128)
,@Column1Name NVARCHAR(32)
,@Column1DataType NVARCHAR(32)
,@Column1Nullable NVARCHAR(32)
AS
DECLARE @SQLString NVARCHAR(MAX)
BEGIN
IF(EXISTS (select * from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @TableName))
BEGIN
SET @SQLString = 'ALTER TABLE ' + @TableName + '('+ @Column1Name + ' ' + @Column1DataType + ' '+ @Column1Nullable +')'
EXEC (@SQLString)
END
ELSE
BEGIN
SET @SQLString = 'CREATE TABLE ' + @TableName + '('+ @Column1Name + ' ' + @Column1DataType + ' '+ @Column1Nullable +')'
EXEC (@SQLString)
END
END
GO
Ошибка Я получаю вызова из кода:.
Неправильный синтаксис около '('
Спасибо за ваш ответ @Martin. Он решил это. Какая глупая ошибка SQL, которую я делал. Еще раз спасибо. – Abhi