CREATE PROCEDURE my_sp_AddColumn
@mytable_name nvarchar(256),
@mycolumn_name nvarchar(256),
@mycolumn_type nvarchar(256),
@mycolumn_length int,
@mycolumn_null nvarchar(50),
@mycolumn_property nvarchar(1024)AS
if not exists(select * from Table_stru where Table_name = @mytable_name and Column_Name = @mycolumn_name )
begin
exec('insert into Table_stru (Table_name,Table_Type,Column_Name,Type_Name,Length,Nullable) values (''' @mytable_name +''',1,'''+ @mycolumn_name + ''',''' + @mycolumn_type + ''',''' + @mycolumn_length + ''',''' + @mycolumn_null + ''')''')
execute('alter table ' + @mytable_name +' add ' +@mycolumn_property)
end
@mytable_name nvarchar(256),
@mycolumn_name nvarchar(256),
@mycolumn_type nvarchar(256),
@mycolumn_length int,
@mycolumn_null nvarchar(50),
@mycolumn_property nvarchar(1024)AS
if not exists(select * from Table_stru where Table_name = @mytable_name and Column_Name = @mycolumn_name )
begin
exec('insert into Table_stru (Table_name,Table_Type,Column_Name,Type_Name,Length,Nullable) values (''' @mytable_name +''',1,'''+ @mycolumn_name + ''',''' + @mycolumn_type + ''',''' + @mycolumn_length + ''',''' + @mycolumn_null + ''')''')
execute('alter table ' + @mytable_name +' add ' +@mycolumn_property)
end
select ''''''
@mytable_name nvarchar(256),
@mycolumn_name nvarchar(256),
@mycolumn_type nvarchar(256),
@mycolumn_length int,
@mycolumn_null nvarchar(50),
@mycolumn_property nvarchar(1024)AS
if not exists(select * from Table_stru where Table_name = @mytable_name and Column_Name = @mycolumn_name )
begin
exec('insert into Table_stru (Table_name,Table_Type,Column_Name,Type_Name,Length,Nullable) values ('''+@mytable_name +''',1,'''+ @mycolumn_name + ''',''' + @mycolumn_type + ''',''' + @mycolumn_length + ''',''' + @mycolumn_null + ''')''')
execute('alter table ' + @mytable_name +' add ' +@mycolumn_property)
end
你的原来语句写的有问题,大力帮你纠正了,请仔细比较一下,就明白了。
您好!您的后一个修改可以通过语法检查了,但是运行时可是还是显示出错:
Server: Msg 105, Level 15, State 1, Line 0
Unclosed quotation before the character string ''.对您的回复我表示深深的感谢!