:私に与えられ
タスクがした - "ループを使用して、テーブルに10件のレコードを挿入 - PL/SQL" を
と
をテーブルに5つの列がある場合、挿入するには50個の変数を使用する必要がありますか? あなたがあなたのテーブルに10回を挿入することがsame set of records
をしたい場合は、あなたの上記の質問に
回答はNOです。あなたがそれを行う方法は以下の通りです。ブロックを実行すると、5列分の値をプロットするように要求されます。したがって、同じ値を持つ10セットのレコードがテーブルに挿入されます。下記参照。
SQL> DECLARE
num1 NUMBER (10) := &num1;
num2 NUMBER (10) := &num2;
num3 NUMBER (10) := &num3;
num4 NUMBER (10) := &num4;
num5 NUMBER (10) := &num5;
BEGIN
FOR i IN 1 .. 10
LOOP
INSERT INTO TAB (col1,
col2,
col3,
col4,
col5)
VALUES (num1,
num2,
num3,
num4,
num5);
END LOOP;
COMMIT;
END;
/
Enter value for num1: 1
old 2: num1 NUMBER (10) := &num1;
new 2: num1 NUMBER (10) := 1;
Enter value for num2: 2
old 3: num2 NUMBER (10) := &num2;
new 3: num2 NUMBER (10) := 2;
Enter value for num3: 3
old 4: num3 NUMBER (10) := &num3;
new 4: num3 NUMBER (10) := 3;
Enter value for num4: 4
old 5: num4 NUMBER (10) := &num4;
new 5: num4 NUMBER (10) := 4;
Enter value for num5: 5
old 6: num5 NUMBER (10) := &num5;
new 6: num5 NUMBER (10) := 5;
PL/SQL procedure successfully completed.
OUTPUT:
SQL> select * from tab;
COL1 COL2 COL3 COL4 COL5
---------- ---------- ---------- ---------- ----------
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
10 rows selected.
私が思うには、あなたはたぶん私は理解していなかったOPの質問 – Ravi
を読んでいないが、この部分は私がここで、「私は正しいんだと思わせるnは10であるが、このループが1から10までの間に、入力値を1回だけ入力し、その入力値を10回表示します。 –