Exex ModifyNormalData  'tbl_A'CREATE PROCEDURE SP
       @vchTableName  varchar(255)AS
BEGIN
EMD'

解决方案 »

  1.   

    想知道麼?
    真的想知道麼?
    你是真的想知道麼?我也是!曾經想過用變量表名!
    來做個通用的存儲過程。
    但發覺不知道怎麼下手!
    現有個方法不知道合不合你用:
    CREATE PROC ProcName
    @SQL  VARCHAR(500)
    AS
    EXECUTE(@SQL)隻傳入表名的話,就給@sql變量添點你需要的東西羅。祝你好運
      

  2.   

    CREATE PROC ProcName
    @tablename  VARCHAR(32)
    AS
    select * from @tablename
    请问,这样是不是可以呢?好像不行吧.
      

  3.   

    CREATE PROC ProcName
    @tablename  VARCHAR(32)
    AS
    select * from @tablename
    请问,这样是不是可以呢?好像不行吧.
      

  4.   

    create procedure procname @tablename  varchar(100)
    as
      decalre @str_sql varchar(1000)  set @str_sql=delete from @tablename where .....
      
      execsql(@str_sql)
      

  5.   

    create procedure procname @tablename  varchar(100)
    as
      decalre @str_sql varchar(1000)select   @str_sql='delete from '+ @tablename +' where .....'
      
    exec @str_sql
    return
      

  6.   

    如果你用sql server的话,DED的写法应该可以。
      

  7.   

    但是出现一个问题如下
    DECLARE @EXEC VARCHAR(100)
    SELECT @EXEC=('UPDATE ' +@TABLENAME+ ' SET '+@COLUMNNAME+'='+@TEMPNUMBER+ ' WHERE CURRENT OF MCUR_CHANGE') 
    EXEC @EXEC
    该句应该与这句相同
    EXEC ('UPDATE ' +@TABLENAME+ ' SET '+@COLUMNNAME+'='+@TEMPNUMBER+ ' WHERE CURRENT OF MCUR_CHANGE') 
    然而,第一句不能够执行,而第二句可以执行,
    而且还有一个问题,如何在一个字符串中加入一个单引号
      

  8.   

    sql里不是有个用'做转义字符的解释吗?
    曾经看到过一个技巧, 是专门讲转移字符的.我回去查查,下次告诉你.
      

  9.   

    用动态SQL语句。你用的是什么数据库?
      

  10.   

    MS SQL的串,可以用双写单引号表示一个单引号字符。如:select @b='name'
    select @a=''''+@b+''','@a就得到这样的串: ['name',]
      

  11.   

    create procedure proc_table(in v_table_name varchar(100))declare stmt varchar(1000);
    declare cur cursor for s;set stmt = 'select * from '||v_table_name;
    prepare s from stmt;
    open cur;