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

解决方案 »

  1.   

    select ''''
    select ''''''
      

  2.   

    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
      

  3.   

    在sql server 7.0 上 ''' 不行啊,语法检查的时候就通不过,原来 "'" 在语法检查的时候可以通过,只是在运行的时候,动态执行时报错(在sql server 2000下可以正确执行,不报错)。
      

  4.   

    to hrbbob:
    你的原来语句写的有问题,大力帮你纠正了,请仔细比较一下,就明白了。
      

  5.   

    to 大力:
    您好!您的后一个修改可以通过语法检查了,但是运行时可是还是显示出错:
    Server: Msg 105, Level 15, State 1, Line 0
    Unclosed quotation  before the character string ''.对您的回复我表示深深的感谢!