很多georaster的函数操作都是用PL/SQL语句,先要DECLARE,在BEGIN END执行。普通的sql语句我会用OCI来绑定,然后执行获取,但是在PL/SQL中的语句该怎么用OCI绑定获取呢?急死我了,谁有示范的例子
解决方案 »
- oracle 查询语句
- 关于数据库备份表的问题
- 新新新~~~怎么判断数据库中某几个字段是否符合条件。查询结果是:这几个字段是否有符合条件的值?
- oracle安装默认用户都是做什么用的?oracle必须用的用户是哪几个?
- 求助:一个sql的写法,可能是很常见的,但是不知道如何修改
- 关于ORACLE的问题
- 这个语句怎么写?
- 超级菜的问题,,,在oracle中用apps用户登录pl/sql developer 的问题
- 急急急急急....我的存储过程错在哪儿???各位,能帮我看一下吗?
- 请问在登录ORACLE时提示“适配器”错误,是什么原因???
- 一个8位字符串,或者一个8位的数8
- plsql 单引号问题
OraText *sqlstmt = (OraText *)"BEGIN CDEMODT_INS_SEL(:1, :2, :3, :4, :5, :6); END; ";然后prepare, binding, ,,,,
就像: /* Converts the text strings to the datetime types in the table */
for (i=0; i<3; i++) {
if (ret = OCIDateTimeFromText(authp,errhp,(CONST OraText *)strdate[i],
(ub4) strlen((char *)strdate[i]),(CONST OraText *) fmtdate[i],
(ub1) strlen((char *)fmtdate[i]),(OraText *) NULL,(ub4) 0,dvar[i])) {
chk_err(errhp,ret,__LINE__,(OraText *)"OCIDateFromText");
return OCI_ERROR;
}
} /* Converts the text strings to the interval types in the table */
for (i=0; i<2; i++) {
if ((ret = OCIIntervalFromText((dvoid *)authp, errhp,(CONST OraText *)
strdate[i+3], (ub4) strlen((char *)strdate[i+3]),
(OCIInterval *)ivar[i])) != OCI_SUCCESS) {
chk_err(errhp, ret, __LINE__,(OraText *)"OCIIntervalFromText");
return OCI_ERROR;
}
} /* Preparation of statment handle for the SQL statement */
if ((ret = OCIStmtPrepare(stmthp, errhp, insstmt, (ub4)strlen((char *)insstmt), OCI_NTV_SYNTAX,
OCI_DEFAULT)) != OCI_SUCCESS) {
chk_err(errhp,ret,__LINE__,(OraText *)"OCIStmtPrepare");
return OCI_ERROR;
}
..........
就是说我把语句 做成存储过程,然后在BEGIN END中调用。是吧
调用方式就像上边那样。
你上rdbms\demo目录下边搜搜,有相关的例子。