可以在pl/sql的IN CLAUSE中使用VARRAY嗎?IN IN CLAUSE中的PL/SQL使用VARRAY
7
A
回答
18
是的,你可以,前提是VARRAY類型是一個全球性的類型(而不是本地的一些PL/SQL代碼):
CREATE OR REPLACE TYPE str_tab_type IS VARRAY(10) OF VARCHAR2(200);
DECLARE
l_str_tab str_tab_type;
l_count NUMBER;
BEGIN
l_str_tab := str_tab_type();
l_str_tab.extend(2);
l_str_tab(1) := 'TABLE';
l_str_tab(2) := 'INDEX';
SELECT COUNT(*) INTO l_count
FROM all_objects
WHERE object_type IN (SELECT COLUMN_VALUE FROM TABLE(l_str_tab));
END;
/
0
我有同樣的問題,但 我不想(和我不允許)定義一個全局TYPE
當定義它的地方,
TYPE fkarraytype IS VARRAY(10) OF VARCHAR2(10);
fkarray fkarraytype;
編譯器與失敗:
Error: PLS-00642: Lokale Erfassungstypen in SQL-Anweisungen nicht zulässig Text: AND fk.strval IN (SELECT COLUMN_VALUE FROM TABLE(fkarray))
相關問題
- 1. SQL:使用with-clause in「not in」-operator
- 2. 如何使用NOT IN CLAUSE
- 3. 「where in」mysql clause
- 4. where(...)or in(...)clause?
- 5. in-clause scoping
- 6. max-count in having-clause
- 7. 使用plsql中的對象varray
- 8. 通過「In clause」排序
- 9. SQL-ORDER BY in IF-ELSE CLAUSE
- 10. oracle 1 = 1 in join clause
- 11. PLSQL:如果變量IN子
- 12. codeigniter where in clause顯示結果是或
- 13. Where in clause using order by得到結果
- 14. 在PLSQL過程中使用IN子句中的表類型
- 15. 如何使用SQL「IN」(或「ANY」)運算符與VARRAY在PL/SQL
- 16. 如何編寫(union in optional clause)或(optionals with union clause)?例如
- 17. 在mySQL中IN/NOT IN的使用
- 18. Mysql查詢優化,使用連接刪除'NOT IN(SELECT CLAUSE)'
- 19. 。使用「IN」和「NOT IN」的RowFilter
- 20. PL/SQL - 在IN CLAUSE中的逗號分隔列表
- 21. 如何在INQL中獲取IN CLAUSE的NULL值?
- 22. 查詢,用逗號分隔PLSQL中的IN參數
- 23. 如何使用DB2中的java使用return和in參數運行PLSQL函數?
- 24. 我們怎樣才能得到VARRAY從IN參數的過程
- 25. 當使用IN
- 26. 使用IN
- 27. 使用%。 in printf
- 28. 使用IN
- 29. 使用$/in perl
- 30. hql in-clause在子集合中有多個匹配