初折腾Oracle问题小记二

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

说明:

为了CYQ.Data 框架 CYQ.Data 轻量数据层之路 框架开源系列 索引 引入支持Oralce,继续努力着。
今天花了半天,总算完成了添加/更新/删除操作。

 

 

 

继续记录今天折腾Oralce遇到的问题:

 

1:参数化传参,默认加了个返回值ReturnValue参数,引发异常--参数个数配对问题。

 

2:参数的数据类型设置大小设置不能为-1,不然会引发值太大,无法绑定的引异常--参数大小需要指定。

 

3:参数化语句如:Insert Users(ID,UserName) values(AutoID.nextval,:UserName)--参数用":"

 

4:参数添加可以加前缀或不加前缀如:

com.Parameters.Add(":UserName",objValue) 

com.Parameters.Add("UserName",objValue);

 

5:多语句执行,语法如下:begin 语句1;语句2;end;

示例:

复制代码
begin

Insert  Users(id,username,url)  values ( 1 , ' 路过秋天 ','http://cyq1162.cnblogs.com' );

update  ......;

end ;
复制代码

说明:

只能批量执行insert/update/delete/select ..into等不返回结果的语句。

 

继续补充

6:写了一个测试的存储过程如下:

复制代码
ExpandedBlockStart.gif
create   or   replace  package MyPackage  as  
type cursorResult 
is  ref  cursor ;
procedure  SelectBase(pageIndex  int ,pageSize  int ,tableName  varchar2 ,whereStr  varchar2 ,myResult out cursorResult);
end  MyPackage;


procedure  SelectBase(pageIndex  int ,pageSize  int ,tableName  varchar2 ,whereStr  varchar2 ,myResult out cursorResult)
  
is
  mySql 
varchar2 ( 2000 );
  
begin
    mySql
= ' select * from  ' || tableName;
    
open  myResult  for  mySql;
    
end  SelectBase;
  
  
  
end  MyPackage;
复制代码

 

在PL/SQL下Test执行,发现int都显示成Float型了。

 

直接界面调用报以下错误:

ORA - 04063 : package body "SA.MYPACKAGE" has errors
ORA
- 06508 : PL / SQL: could  not  find program unit being called
ORA
- 06512 : at line  1

 

问题已解决:

这种错误都是语法错误,把上面的mySql = ' select... ' 改成mySql: = select ...’即可。

 

 版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/09/28/1837212.html

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Oracle 关系型数据库 数据库
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
存储 Oracle 关系型数据库
|
Oracle 关系型数据库
Oracle学习之clent安装(续)
client安装后,还有很多工具是不能用的。   例如:tnsping,sqlldr,exp/imp   如何能让client端,和server端有强大的工具。
596 0