oracle 如何将传进去的参数 作为表的字段名如
select 'QL_SEQUENCE_A'.EXTVAL FROM DUAL
中SQL_SEQUENCE_A我要用传进去的参数来代替他。

解决方案 »

  1.   


    SELECT * FROM P_USERSK
    DECLARE @IDM NVARCHAR(10)
    SET @IDM = 'DM' 
    EXEC('SELECT '+@IDM+' FROM P_USERSK')
      

  2.   


    execute immediate 'select '||QL_SEQUENCE_A||'.EXTVAL FROM DUAL'; 其中QL_SEQUENCE_A这个是序列号,而不是表名;
    执行这个语句得到序列的下一个序列号;
      

  3.   


    execute immediate 'select '||QL_SEQUENCE_A||'.EXTVAL FROM DUAL'; 其中QL_SEQUENCE_A这个是序列号,而不是表名;
    执行这个语句得到序列的下一个序列号;
      

  4.   

    --sql是这样的
    declare @ID int
    set @ID=1
    Exec('select * from tb where ID='+@ID)
      

  5.   


    QL_SEQUENCE_A varchar2 --定义
    QL_SEQUENCE_A:='name'  --赋值
    execute immediate 'select '||QL_SEQUENCE_A||'.EXTVAL FROM DUAL';