在Oracle中,我有时想创建像这样的构造
SELECT * FROM TABLE(STRINGS('a', 'b', 'c'))
SELECT * FROM TABLE(NUMBERS(1, 2, 3))
显然,我可以为上面的代码声明我自己的类型。我可以在TABLE
和VARRAY
之间选择。例如:
CREATE TYPE STRINGS AS TABLE OF VARCHAR2(100);
CREATE TYPE NUMBERS AS VARRAY(100) OF NUMBER(10);
在这种情况下,另一种解决方案是编写如下内容
SELECT 'a' FROM DUAL UNION ALL
SELECT 'b' FROM DUAL UNION ALL
SELECT 'c' FROM DUAL
但我可能有更复杂的示例,在这些示例中我确实需要TABLE
/ VARRAY
类型。那么,如果我的SQL运行在一个未知的系统上,我不能创建类型,因为我可能没有必要的授权,那该怎么办呢?
所以我的问题是:知道在任何实例上可用的“匿名”TABLE
/ VARRAY
类型吗?类似Postgres / H2 /HSQLDB的简单ARRAY
类型?
SQL :我主要从运行这个,如果这是相关的话。不需要向我解释PL/SQL,我实际上只是在寻找匿名SQL数组类型(即“匿名”独立存储类型)。如果它们根本不存在,答案是否定的
https://stackoverflow.com/questions/8785459
复制相似问题