一个表返回值,用于将另一个表作为列

时间:2016-03-18 05:25:35

标签: database oracle stored-procedures triggers

我有一个Oracle触发器,我需要在第一个表插入行后创建列。

所以..在我的场景中:

  

当一些记录插入到NEWS_TBL中并且我需要得到它(在这里我通过最后插入的记录得到它)并且我需要从NEWS_TBL获取NAME并将值返回到NewsName变量并且返回的值插入到NEWS_TYPE_TBL作为专栏。

下面的代码不起作用。任何人都可以给我一个解决方案。

mycode的

BEFORE DELETE OR INSERT OR UPDATE
ON NEWS.NEWS_FIRST 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE

 NewsName varchar2(50); 

  PRAGMA AUTONOMOUS_TRANSACTION;

BEGIN
  EXECUTE IMMEDIATE

      'select *
      from ( select a.NAME,a.ID, max(ID) over () as max_pk
      from NEWS_TBL a)
      where ID = max_pk
      RETURNING NAME INTO NewsName';

     'ALTER TABLE NEWS_TYPE_TBL ADD [NewsName] NUMBER(50) NULL'; 
     // I want to add returning ticket name to here from 1st query.

END trigNews;
/

0 个答案:

没有答案