我有一个存储过程要更新一个表的数据,但这个表是变化的,由调用存储过程时传进去。该怎么写。

解决方案 »

  1.   

    就象调用一般的Sql语句调用这个存储过程 就行了,再加上参数.
    比如存储过程叫 P_TableUpdate你就在程序里CDatabase db;
    ....
    ...
    CString strSql;
    strSql.Format("P_TableUpdate %s",strTableName);//strTable是表名
    db.ExecuteSql(strSql);就可以了.
      

  2.   

    for example@sql varchar(1000)
    set @sql = 'select * from ' + @table_from_parameter
    exec(@sql)
      

  3.   

    1楼的,我的处理要在存储过程中进行。
    VC只是将表名做为变量传进去。2楼的,你的方法
    在EXEC(SQL出错的时候,我怎么判断。
      

  4.   

    用系统错误变量监测
    if @@error <> 0 then
      ...
      

  5.   

    如果是oracle数据库,可以用try...catch
      

  6.   

    问题又来了,我的存储过程是向一个表里INSERT一条记录,set @sql_string = 'insert into ' + @gift_tb + '(contents, result, date_time, account_from, account_to) values(' + @gift_contents_0 +'...
    里面的sql的值是字符串我用什么分隔啊, 单引号现在己经用了。