例子如下
CREATE OR REPLACE PROCEDURE TYXC_DBA.PRO_HYTJ_HP_CKBYFMXB( I_SQLWHERE IN VARCHAR2 --查询条件IS
BEGIN
SELECT BH,MC
FROM TBL_A
EHERE BH= I_SQLWHERE;
END;
/上年是个简单的样子I_SQLWHERE参数是我在程序里面并的字符串,是BH字段并的,长度超过了7~8万,现在用 VARCHAR2 不够用了.我用LONG试了一下,也出错。请教一下,程序里和过程中用什么类型才能把I_SQLWHERE参数传进来。
CREATE OR REPLACE PROCEDURE TYXC_DBA.PRO_HYTJ_HP_CKBYFMXB( I_SQLWHERE IN VARCHAR2 --查询条件IS
BEGIN
SELECT BH,MC
FROM TBL_A
EHERE BH= I_SQLWHERE;
END;
/上年是个简单的样子I_SQLWHERE参数是我在程序里面并的字符串,是BH字段并的,长度超过了7~8万,现在用 VARCHAR2 不够用了.我用LONG试了一下,也出错。请教一下,程序里和过程中用什么类型才能把I_SQLWHERE参数传进来。
可以试试clob和blob,它们的最大可达4G。最大长度可超过42亿字节!存个7~8万,绰绰有余!
还是怎么改?程序里像过程理传的时候,类型用哪个?
我用的是.NET
parameter_flag = New OracleClient.OracleParameter("O_FLAG", Oracle ient.OracleType.VarChar, 2)就是上面这句话里面的Oracle ient.OracleType.VarChar 用VarChar是不行的了,也用CLOB类型吗?