初折腾Oracle问题小记二
2010-09-28 00:02
357 查看
说明:
为了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:写了一个测试的存储过程如下:
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...’即可。
为了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:写了一个测试的存储过程如下:
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...’即可。
相关文章推荐
- 初折腾Oracle问题小记二
- 初折腾Oracle问题小记
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 初折腾Oracle问题小记二
- .net连oracle的问题及方法折腾总结
- 初折腾Oracle问题小记四
- 初折腾Oracle问题小记
- 初折腾Oracle问题小记二
- 初折腾Oracle问题小记四
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 初折腾Oracle问题小记
- 折腾了一天一晚上,差点重做的oracle 10g rac启动netca与netmgr问题
- Oracle小白第一次折腾Oracle遇到的问题
- 初折腾Oracle问题小记四
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 初折腾Oracle问题小记四
- ASP.NET连接Oracle — 末日前的最后折腾
- Oracle密码错误次数过多账号锁定的问题
- 【BO】安装BO服务器时,oracle服务端安装ora-12514和12541的问题