我有一個帶有數值的表格,我想將這些值提取到數組中。我可以這樣做嗎?有沒有一個功能可以讓我做到這一點?我對pl/sql比較陌生,但我不知道。謝謝!將光標移到數組中
Q
將光標移到數組中
2
A
回答
2
set serveroutput on;
DECLARE
TYPE v_arr IS VARRAY(100) OF NUMBER;
var v_arr;
return_value number;
BEGIN
var:=v_arr();
FOR c1 IN (SELECT ID FROM table_name WHERE ROWNUM<100)
loop
var.EXTEND;
var(var.last):=c1.id;
end loop;
FOR i IN var.FIRST..var.LAST
loop
return_value:=var(i);
dbms_output.put_line(return_value);
end loop;
end;
0
假設你的表是YOUR_TABLE,且列YOUR_COLUMN,你可以使用VARRAY數組如下:
DECLARE
TYPE t_ARR IS VARRRAY(1000000) OF NUMBER;
varr_col T_ARR;
BEGIN
varr_col := t_ARR();
FOR i IN (SELECT YOUR_COLUMN
FROM YOUR_TABLE)
LOOP
varr_col.EXTEND;
varr_col (1) := i.YOUR_COLUMN;
END LOOP;
EXCEPTION
---
END;
這將創建可變大小的數組。每循環FOR LOOP,它都會將數組擴展一個並插入值。因此,就特定列的行數而言,它是靈活的。
0
是的,你可以使用LOOP方法,但我更喜歡BULK COLLECT INTO
。
下面我的小例子:
SET SERVEROUTPUT ON
SET FEEDBACK OFF
CLEAR
DECLARE
TYPE TT_ARR IS TABLE OF NUMBER;
V_NUM_ARR TT_ARR;
BEGIN
V_NUM_ARR := TT_ARR(); --<-- explicit initializing
-- LOOP approach:
FOR L_I IN (SELECT 1 + ROUND(DBMS_RANDOM.VALUE() * 10) COL_1
FROM DUAL
CONNECT BY LEVEL < 20) LOOP
V_NUM_ARR.EXTEND;
V_NUM_ARR(V_NUM_ARR.LAST) := L_I.COL_1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Collection size : ' || TO_CHAR(V_NUM_ARR.COUNT));
-- BULK COLLECT INTO approach (preferred)
SELECT 1 + ROUND(DBMS_RANDOM.VALUE() * 10) COL_1 BULK COLLECT
INTO V_NUM_ARR
FROM DUAL
CONNECT BY LEVEL < 20;
DBMS_OUTPUT.PUT_LINE('Collection size : ' || TO_CHAR(V_NUM_ARR.COUNT));
END;
/
相關問題
- 1. 將光標移動到CONTENTEDITABLE
- 2. 將光標移到C程序中
- 3. 如何將光標移到tkinter中?
- 4. textarea - 將光標移到光標前並替換它
- 5. 按JButton時將光標移動到JTextField
- 6. 將光標移到圖片框
- 7. 將控件移動到光標位置?
- 8. 將光標移到隱藏字段
- 9. 如何將光標移動到EDITTEXT
- 10. 將UITextView光標移動到CGPoint
- 11. 將光標移動到UITextField的開頭
- 12. JDBC - 將光標移出insertRow
- 13. MySQL:將光標移入DATE
- 14. MATLAB將鼠標光標移動到特定座標
- 15. 將光標移動到下一個參數PhpStorm
- 16. 將偏移量定位到光標位置的Javascript偏移量
- 17. 在VMware中移動光標
- 18. 在UITextView中移動光標
- 19. 在Java中移動光標
- 20. 在QTextEdit中移動光標
- 21. 數據庫到光標,光標到數組列表和數組列表到名稱值對的字符串。
- 22. 如何將光標移動到Dart中的元素?
- 23. 如何將光標移動到終端中的行上?
- 24. 如何在我的ComboBox中將光標移動到左側?
- 25. 如何將光標移到JScrollPane中的JTextArea的頂部
- 26. 按RETURN時將光標移動到括號和意圖中
- 27. 將控制檯中的輸入光標移動到下一行
- 28. 如何直觀地將光標移動到vim中?(不按行)
- 29. 如何將光標移動到RadEditor中的內容結束處?
- 30. 將光標移動到vim中匹配模式的命令
我有一個問題。我試圖在我有的程序上使用這段代碼,並且得到一個varr_col未初始化的錯誤。我如何初始化它? – katy
@katy是的,有初始化行丟失。我添加了它。 – Hawk