1
的值查詢我有一個用戶定義的類型:甲骨文:針對用戶定義類型
create or replace type my_message_type
as object (relatedid varchar2(50), payload clob);
我插入一個消息編程。 SQL Developer將插入的對象呈現爲:
SYNESSO.MY_MESSAGE_TYPE('abcdefgh','[email protected]')
如何使用SQL查詢此數據?例如,下面似乎直觀:
select count(1) from table_of_my_messages where user_data.relatedid = 'abcdefgh';
但是這會導致ORA-00904: "USER_DATA"."RELATEDID": invalid identifier
。
然後我發現正確的語法是構造消息類型並使用相等性檢查。但是,如何構造類型的實例與一些匹配any
字段:
select * from table_of_my_messages where user_data = my_message_type('abcdefgh', *);
-- ORA-00936: missing expression
select * from table_of_my_messages where user_data = my_message_type('abcdefgh');
-- ORA-02315: incorrect number of arguments for default constructor
select * from table_of_my_messages where user_data = my_message_type('abcdefgh', ?);
-- Missing IN or OUT parameter at index:: 1
建議你接受你的答案 – 2011-03-29 05:16:43
你需要等待幾天才能做到這一點? – Synesso 2011-03-29 22:14:34