我正在嘗試使用IN執行此查詢,但是如果類型是CLOB不起作用。 我需要的參數p_rut是CLOB和查詢我需要使用IN,因爲它會有一個選擇返回更多的行比較。 如何在IN中使用參數CLOB?在IN中使用CLOB? ORACLE
PROCEDURE INSERT_TEST (o_dat out o_cursor, p_rut in CLOB)
AS
BEGIN
OPEN o_dat FOR
select * from cliente
where rut in (p_rut);
END;
表CLIENTE
CREATE TABLE CLIENTE
(
PRODUCTO VARCHAR(50),
RUT VARCHAR2(50),
DV VARCHAR2(50),
FONO1 VARCHAR2(50),
FONO2 VARCHAR2(50),
FONO3 VARCHAR2(50),
FONO4 VARCHAR2(50),
FONO5 VARCHAR2(50),
FONO6 VARCHAR2(50),
COMUNA VARCHAR2(50),
EDAD NUMBER(8),
SEXO NUMBER(8),
DIASMORA NUMBER(8),
AÑODEUDA NUMBER(8),
PAGOMINIMO NUMBER(8),
)
;
RUT是varcahr2(50),因此您試圖將其與單個clob進行比較。無論您將多少個varchar2字符串填充到SINGLE clob中,它都將保持單一。你需要一個非常不同的方法。 –
不管「p_rut」的數據類型如何,你寫的都沒有意義。你對'p_rut'是什麼意思**是一個用逗號分隔的值列表,你需要比較'rut'嗎? – mathguy
目前還不清楚,爲什麼你需要'IN'?我會明白'p_rut'需要是CLOB。但爲什麼IN? – LiborStefek