我创建了一个在运行时创建表的存储过程。此动态表的表列和它们的数据类型来自数据库中已存在的另一个表。显示语法错误的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