我正在尝试使用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