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

ऑरैकल 10 जी में, मैं लूप में उपयोगकर्ता इनपुट कैसे स्वीकार करूं?

यह एक प्रतिस्थापन चर है - एक एसक्यूएल * प्लस फीचर - और यह इस तरह से काम नहीं करता है। आपको कॉल करना होगा undefine &slno या accept slno ... इसे एक और इनपुट लेने के लिए, लेकिन ये भी एसक्लप्लस हैं, पीएल/एसक्यूएल कमांड नहीं, इसलिए आप उन्हें लूप में नहीं बुला पाएंगे,

शायद आप यहां केवल यही कर सकते हैं

INSERT INTO TEST_TABLE VALUES('&slno1',SYSDATE);
INSERT INTO TEST_TABLE VALUES('&slno2',SYSDATE);
INSERT INTO TEST_TABLE VALUES('&slno3',SYSDATE);
INSERT INTO TEST_TABLE VALUES('&slno4',SYSDATE);
INSERT INTO TEST_TABLE VALUES('&slno5',SYSDATE);

अपडेट करें :सौभाग्य से, आप स्वतंत्र इनपुट को स्वीकार करते हुए अलग-अलग अनुक्रमिक बयानों की सूची बनाकर इस पर काम कर सकते हैं:

22:38:59 @> conn system/[email protected]_sandbox
Connected.
22:39:01 [email protected]_sandbox> @s:\test
Enter value for var1: a
Enter value for var2: b
Enter value for var3: c
22:39:06 [email protected]_sandbox> commit;
22:39:11 [email protected]_sandbox> select * from test_table;

COL1       COL2
---------- -------------------
a          07.12.2012 22:39:10
b          07.12.2012 22:39:11
c          07.12.2012 22:39:11
22:39:17 [email protected]_sandbox> get s:\test
  1  set echo off
  2  set define off
  3  set termout off
  4  set feedback off
  5  set timing off
  6  spool s:\123.sql
  7  begin
  8    for i in 1 .. 3 loop
  9      dbms_output.put_line('insert into test_table values(''&var'||i||''', sysdate);');
 10    end loop;
 11  end;
 12  /
 13  spool off
 14  set define "&"
 15  set termout on
 16* @s:\123.sql
22:39:24  17  .
22:39:58 [email protected]_sandbox> get s:\123.sql
  1  insert into test_table values('&var1', sysdate);
  2  insert into test_table values('&var2', sysdate);
  3* insert into test_table values('&var3', sysdate);
22:40:04 [email protected]_sandbox>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रिवर्स () फ़ंक्शन का उपयोग किए बिना Oracle (11g) SQL में एक स्ट्रिंग को कैसे उलटें?

  2. ORA-29278 को बायपास करने के लिए UTL_MAIL.SEND को क्रेडेंशियल दें

  3. नमूना डेटा - संग्रहीत प्रक्रिया को निष्पादित करते समय समस्या जिसमें अद्यतन और सम्मिलित विवरण दोनों शामिल हैं

  4. xxx.xxx.xx.0/16 . से आईपी एड्रेस रेंज प्राप्त करें

  5. Oracle निर्देशिका पर अनुमतियों को कैसे क्वेरी करें?