Oracle 10g PL/SQL ブロック (つまり、ユーザーとの対話型通信) でユーザーからランタイム入力を取得したいと考えています。出来ますか?
declare
x number;
begin
x=&x;
end
このコードは次のようにエラーを出します
& は oracle 10g では使用できません
Oracle 10g PL/SQL ブロック (つまり、ユーザーとの対話型通信) でユーザーからランタイム入力を取得したいと考えています。出来ますか?
declare
x number;
begin
x=&x;
end
このコードは次のようにエラーを出します
& は oracle 10g では使用できません
ユーザー入力を読み取って変数に格納し、後で使用できるようにするには、SQL*Plus コマンドを使用できますACCEPT
。
Accept <your variable> <variable type if needed [number|char|date]> prompt 'message'
例
accept x number prompt 'Please enter something: '
そして、x
次のように PL/SQL ブロックで変数を使用できます。
declare
a number;
begin
a := &x;
end;
/
文字列の例での作業:
accept x char prompt 'Please enter something: '
declare
a varchar2(10);
begin
a := '&x'; -- for a substitution variable of char data type
end; -- to be treated as a character string it needs
/ -- to be enclosed with single quotation marks
これを試して
declare
a number;
begin
a := :a;
dbms_output.put_line('Inputed Number is >> '|| a);
end;
/
OR
declare
a number;
begin
a := :x;
dbms_output.put_line('Inputed Number is >> '|| a);
end;
/
とてもシンプルです
書くだけ:
// 最初に test.... という名前のテーブルを作成します。
create table test (name varchar2(10),age number(5));
//上記のコードを実行すると、テーブルが作成されます....
//ここで、名前と年齢を挿入する必要があります..
値を入力するために私たちの助けを求めるフォームを開いて、年齢が挿入されることを確認してください
insert into test values('Deepak', :age);
// 上記のコードを実行すると、「1 行が挿入されました」という出力が得られます...
/今、選択クエリを実行して出力を確認します
select * from test;
//以上です..これで、ユーザーデータを受け入れるクエリが残っている人はいないと思います...