比如取name字段可以:new.name
但如果字段名是变量,如何获取?
比如:fieldname:='name',如何用:new和fieldname取该值

解决方案 »

  1.   

    -- 使用动态sql试试:1.声明变量..name;
    2.execute immediate 'name=:new.'||fieldname;
    ....
      

  2.   

    或者
    execute immediate 'select :new.'||fieldname || ' into 变量 from dual';
      

  3.   

    好像不行啊,execute immediate 语句里不认识变量啥的
      

  4.   

    还是没有解决
    好像没办法解决,oracle 不支持复杂变量绑定,比如:new准备采用代码实现,放弃用触发器做这么复杂的逻辑了!
      

  5.   

    用if then逐个判断
    if field=name1 then
    :new.name1
    elsif ...
    then
    :new.
    .....