あるべきSQL Developerでこれを実行するには、少なくとも2つの方法があります。 。バインド変数で
:
column U_ID new_value sub_u_id;
set verify off
select U_ID from USERS where U_NAME='KEN';
select * from USERS where U_ID = &sub_u_id;
select * from ADRESS where U_ID = &sub_u_id;
この場合にはあなたが単純化する可能性があると::
column U_ID new_value sub_u_id;
set verify off
select * from USERS where U_NAME='KEN';
select * from ADRESS where U_ID = &sub_u_id;
がvariable
commandについてもっと読む
variable u_id number
execute select U_ID into :u_id from USERS where U_NAME='KEN';
select * from USERS where U_ID = :u_id;
select * from ADRESS where U_ID = :u_id;
または置換変数と
、
execute
command、
column
command、それはですおよび
substitution variablesをSQL * Plusのドキュメントに記載しています。その多くはSQL Developerにも適用されます。キー/予約語を避けるために、わずかに異なる列名で作成されたテーブルと
デモ:スクリプトとして
create table USERS (U_ID number, U_NAME varchar2(10));
insert into users values (1, 'KEN');
create table ADRESS(A_ID number, U_ID number, CITY varchar2(10));
insert into adress values (1, 1, 'LONDON');
prompt Demo 1: bind variables
var u_id number
exec select U_ID into :u_id from USERS where U_NAME='KEN';
select * from USERS where U_ID = :u_id;
select * from ADRESS where U_ID = :u_id;
prompt Demo 2: substitution variables
column U_ID new_value sub_u_id;
set verify off
select * from USERS where U_NAME='KEN';
select * from ADRESS where U_ID = &sub_u_id;
ファイル名を指定して実行、スクリプト出力ウィンドウが表示さ:
は
Table USERS created.
1 row inserted.
Table ADRESS created.
1 row inserted.
Demo 1: bind variables
PL/SQL procedure successfully completed.
U_ID U_NAME
---------- ----------
1 KEN
A_ID U_ID CITY
---------- ---------- ----------
1 1 LONDON
Demo 2: substitution variables
U_ID U_NAME
---------- ----------
1 KEN
A_ID U_ID CITY
---------- ---------- ----------
1 1 LONDON
あなたは抑えることができますもちろんset feedback off
のメッセージPL/SQL procedure successfully completed
アレックス、あなたの素晴らしい答えに感謝します。バインド変数の例は、私には完璧に機能します。 NEW_VALUE動詞はOracle SQL Developer SQLワークシート・エディタでエラーとしてマークされますが、スクリプトは引き続き機能します。 – weberjn
はい、構文が少し変わっています。おそらくSDフォーラムで彼らが実際に報告されているかどうかを確認する必要があります* 8) –