Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

तत्काल परिवर्तन अनुक्रम निष्पादित करें काम नहीं कर रहा है

दोनों alter sequence बयान काम कर रहे हैं, यह बीच में वेतन वृद्धि नहीं हो रही है। nextval आपके लूप में कॉल का मूल्यांकन नहीं किया जा रहा है क्योंकि चयन कथन कहीं भी अपना आउटपुट नहीं भेज रहा है। दस्तावेज से , एक नोट जो वास्तव में आप जो कर रहे हैं उसे संदर्भित करने के लिए होता है:

तो आपको उस मान को किसी चीज़ में चुनना होगा:

declare
 st VARCHAR(1024);
 val number;
begin
  for x in (SELECT sequence_name FROM USER_SEQUENCES) loop
      st := 'ALTER SEQUENCE ' || x.sequence_name ||  ' INCREMENT BY 1000';
      execute immediate st;
      st := 'select ' || x.sequence_name ||  '.nextval from dual';
      execute immediate st into val;
      st := 'ALTER SEQUENCE ' || x.sequence_name ||  ' INCREMENT BY 1';
      execute immediate st;
  end loop;
end;
/

मैंने एक val जोड़ा है चर, और एक into val दूसरे पर क्लॉज तत्काल निष्पादित करें।

यह प्रदर्शित करने के लिए कि यह अब काम करता है:

create sequence s42;

Sequence s42 created.

declare
 st VARCHAR(1024);
 n number;
begin
  for x in (SELECT sequence_name FROM USER_SEQUENCES) loop
      st := 'ALTER SEQUENCE ' || x.sequence_name ||  ' INCREMENT BY 1000';
      execute immediate st;
      st := 'select ' || x.sequence_name ||  '.nextval from dual';
      execute immediate st into n;
      st := 'ALTER SEQUENCE ' || x.sequence_name ||  ' INCREMENT BY 1';
      execute immediate st;
  end loop;
end;
/

anonymous block completed

select s42.nextval from dual;

   NEXTVAL
----------
      1001 

बिना into खंड, यह 1001 के बजाय 1 के साथ वापस आया, जो कि आप देख रहे हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लिनक्स पर SQL सर्वर 2016

  2. Oracle अनुप्रयोग R12 में संलग्नक

  3. SQL सर्वर Oracle DBMS_METADATA.GET_DDL के समानांतर है?

  4. ORACLE - ORA-01843:मान्य माह नहीं है

  5. ओरेकल - दो डेटटाइम कॉलम के बीच मिनटों में अंतर प्राप्त करने के लिए सर्वश्रेष्ठ चयन कथन?