私はINを使用してこのクエリを実行しようとしていますが、型がCLOBでない場合は機能しません。 パラメータp_rutがCLOBで、INを使用する必要があるクエリが必要です。なぜなら、比較する行をさらに返すselectが存在するからです。 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)ですので、これを1つのクローブと比較しようとしています。どのように多くのvarchar2の文字列を1つのclobに入れても、それは1つのままになります。あなたは非常に異なるアプローチが必要です。 –
あなたが書いたことは、 'p_rut'のデータ型に関係なく意味をなさないものです。 'p_rut'がカンマで区切られた値のリストであり、' rut'をそれらと比較する必要があるのはどういう意味ですか? – mathguy
「IN」がなぜ必要なのかはっきりしていませんか?私は 'p_rut'がCLOBである必要があることを理解しています。しかしなぜIN? – LiborStefek