oracle存储返回sql查询,如何做才能使record类型和table类型存储查询语句返回的多条记录?...
CREATE OR REPLACE PROCEDURE Zxt_type_Study Is
/*
type 的使用
*/
Testrow1 Test%ROWTYPE;
TYPE Aa IS TABLE OF Test%Rowtype;
Testrow Aa := Aa();
TYPE Bb IS TABLE OF Test.ac%Type;
Cc? ?? ? Bb;
Testrow2 Test%ROWTYPE;
t? ?? ???Test.Ac%TYPE;
BEGIN
Testrow2.Ac? ?? ?:= 'a3';
Testrow2.Breanch := 'zxtss';
Testrow2.Amt? ???:= 5000;
--取update的結果
UPDATE Test SET ROW = Testrow2 WHERE Ac = Testrow2.Ac RETURNING Ac, Breanch, Amt INTO Testrow1;
--給type付值
FOR i IN (SELECT * FROM Test) LOOP
Testrow.EXTEND;
Testrow(Testrow.LAST) := i;
Testrow2 :=i;
Dbms_Output.Put_Line('ac1=' || Testrow2.Ac || ';breanch1=' || Testrow2.Breanch || ';amt1=' || Testrow2.Amt);
END LOOP;
Dbms_Output.Put_Line('ac=' || Testrow1.Ac || ';breanch=' || Testrow1.Breanch || ';amt=' || Testrow1.Amt);
--給type付值1
SELECT Test.Ac BULK COLLECT INTO Cc FROM Test;
--forall的使用
FORALL j IN Cc.FIRST .. Cc.LAST
UPDATE Test SET Test.Amt = 1000 WHERE Test.Ac = Cc(j);
--取type中的一個值
FOR y IN Cc.FIRST .. Cc.LAST LOOP
Dbms_Output.Put_Line('cc(y)' || Cc(y));
END LOOP;
Dbms_Output.Put_Line('t=' || t);
--打印執行前邊的sql結果集的條數
Dbms_Output.Put_Line('sql=' || SQL%ROWCOUNT);
END Zxt_type_Study;
總結
以上是生活随笔為你收集整理的oracle存储返回sql查询,如何做才能使record类型和table类型存储查询语句返回的多条记录?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux资源隔离是哪些,【转载】Lin
- 下一篇: mac利用vscode运行c语言程序,M