从sybase转换到oracle时sql差别的一些问题!

longpei312 2003-08-26 09:07:05
各位大侠:
1:在sybase中 set num1=@@error,在oracle中对应的语句是什么?
2:在oracle中 select 语句须与into 配合使用,请问:当select返回多条记录时(不能一条一条返回的情况),into后面该怎么写,如果定义游标的话,游标该怎么定义呢?
3:临时表定义后在存储过程中使用时提示
‘pls-00403:表达式'longyuan.temp_cancel' 不能作为select/fetch语句的into目标。 该怎么解决呢?
谢谢各位!
...全文
58 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilygy5 2003-09-04
  • 打赏
  • 举报
回复
1:num varchar2(20)
charnum varchar2(100)
num:=sqlcode;
charnum sqlerrm;
2:对,用游标,cursor cur_test is
select * from table1;
3:是不是同一个用户下啊?
longpei312 2003-08-27
  • 打赏
  • 举报
回复
1:
set num1=@@error,返回错误代码,
sqlsatus 返回游标执行的状况!
3:问题已经解决!
谢谢!
longpei312 2003-08-27
  • 打赏
  • 举报
回复
to: beckhambobo(beckham)
那么像这样的错(实际返回的行数超出请求的行数)
该怎么处理呢?比如上例!
谢谢!!!
beckhambobo 2003-08-27
  • 打赏
  • 举报
回复
SQL> declare
2 num1 varchar2(10);
3 num2 varchar2(50);
4 num number;
5 begin
6 select id into num from aa;
7 exception
8 when others then
9 num1:=sqlcode;
10 num2:=sqlerrm;
11 dbms_output.put_line(num1);
12 dbms_output.put_line(num2);
13 end;
14 /
-1422
ORA-01422: 实际返回的行数超出请求的行数

PL/SQL procedure successfully completed
longpei312 2003-08-26
  • 打赏
  • 举报
回复
to jiezhi(浪子):
谢谢你!
1:提示必须说明标识符 'error'.
2: Cursor 'cur_recvlist'is declared but never used in 'UP_GET_BOSS_ABNORMAL'.
3: 我用 CREATE GLOBAL TEMPORARY TABLE temp_cancel(
cancelnumber number,
cancelmoney number,
canceldepartid varchar2(7)
) ON COMMIT PRESERVE ROWS
然后在过程中把select 的结果插入临时表,提示如上错误!
enhydraboy 2003-08-26
  • 打赏
  • 举报
回复
PL/SQL句法和T/SQL有很大的不同,除了SQL92标准的SQL语句外,你最好仔细看一下PL/sql帮助,改写你的语句。
enhydraboy 2003-08-26
  • 打赏
  • 举报
回复
PL/SQL句法和T/SQL有很大的不同,除了SQL92标准的SQL语句外,你最好仔细看一下PL/sql帮助,改写你的语句。
jiezhi 2003-08-26
  • 打赏
  • 举报
回复
1.num1=error;
2.select a into v_a from tab where ...;
cursor c is select ...;
3.more detail?
beckhambobo 2003-08-26
  • 打赏
  • 举报
回复
1、
set num1=@@error,sqlstatus分别有什么作用,解释一下。
2、
http://expert.csdn.net/Expert/topic/2188/2188359.xml?temp=.1404383
3、
把过程内容贴出来
PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。 PostgreSQL 是一个免费的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 OracleSybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。从技术角度来讲,PostgreSQL 采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。 本课程作为PostgreSQL数据库管理之三,主要讲解以下内容:1.     PostgreSQL约束讲解和剖析2.     PostgreSQL数据类型3.     PostgreSQL的结构管理4.     PostgreSQL条件表达式和操作5.     PostgreSQL使用小技巧
BDB是跨数据库平台的数据库设计和自动安装工具、
支持Oracle、MS SQLServer、Access、MySQLSQLAnyWhere、Sybase数据库。
通过BDB可以快速建立数据库模型、并随与实体数据库进行双向同步。
它还可以为您的应用程序创建数据库自动安装(或自动升级)程序、
以及实现不同数据库平台间数据库迁移等。

此外、在BDB中提供了对开发语言的支持、
其数据库结构定义文件采用XML标准格式、
并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、
您可以通过使用BDB来简化软件开发和部署过程:

1、数据库设计、自动安装:支持和数据库之间的正向和反向工程。
既可以通过BDB进行新的数据库设计,自动创建或更新至实体数据库、
也可导出现有数据库结构,并为其创建数据库自动安装程序。
2、跨数据库平台:只需按熟悉的数据库平台进行一次定义,就可在上述各个
数据库平台中进行数据库自动安装和任意迁移。系统会自动进行语法、数据类型转换
3、数据库迁移:在不同数据库平台间进行数据库结构(包括数据表、索引、约束、
视图和存储过程对象)和数据迁移。
4、查询分析、数据表查询、数据编辑功能。提供专用的SQL编辑器、
支持SQL语法高亮、快速脚本输入、脚本预定义等。
5、预输出创建、更新SQL脚本。
6、提供数据导入、导出功能。支持从Excel导入导出的双向编辑操作。
7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序,
包含C#、Delphi、JAVA三个版本。
8、数据库物理结构定义和实体数据库之间的比对更新、同步。
9、可为可重用属性创建数据字典定义、并进行同步。
10、采用方案定义、支持多个工程模式。
11、提供自定义功能、可以根据需要扩展数据库结构定义文件。
12、支持多语言(目前版本语言:中/英文)。并提供了新的语言定义的说明、
可根据需要增加新的语言支持。


版本更新:
1、2007.11.23 查询分析清除数据效率改善处理
2、2007.11.23 加入Sybase支持。
3、2007.11.26 状态栏调整。
4、2007.11.26 加入执行中断功能。
5、2007.11.26 数据表头资源增加备注项。
6、2007.11.26 查询分析加入desc [data]取当前数据表数据语法支持
7、2007.11.26 增加启动界面
8、2007.11.26 界面默认背景颜色更改。
9、2007.11.28 方案列表中增加双击设置为当前方案处理。
10、2007.11.28 更正MySQL下删除索引语法问题
11、2007.11.28 Oracle、MySQL下导入数据增加禁用、重新启用外键约束处理。
12、2007.11.28 更正MySQL下处理导入日期类型字段数据问题
13、2007.11.28 更正SQLServer下处理sql_variant、uniqueidentifier类型字段问题
14、2007.11.28 更正数据库迁移自定义数据库链接问题
15、2007.11.29 更正根据外键引用关系进行数据表排序问题
16、2007.11.30 更正初次保存数据表结构覆盖索引页记录问题


website: http://www.bainsoft.com/
support: bainsoft@163.com
blog: http://blog.csdn.net/12rain
BDB是跨数据库平台的数据库设计和自动安装工具、支持Oracle、MS SQLServer、Access、MySQLSQLAnyWhere、Sybase数据库。通过BDB可以快速建立数据库模型、并随与实体数据库进行双向同步。同它还可以为您的应用程序创建数据库自动安装(或自动升级)程序、以及实现不同数据库平台间数据库迁移等。此外、在BDB中提供了对开发语言的支持、其数据库结构定义文件采用XML标准格式、并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、您可以通过使用BDB来简化软件开发和部署过程:1、数据库设计、自动安装:支持和数据库之间的正向和反向工程。既可以通过BDB进行新的数据库设计,自动创建或更新至实体数据库、也可导出现有数据库结构,并为其创建数据库自动安装程序。2、跨数据库平台:只需按熟悉的数据库平台进行一次定义,就可在上述各个数据库平台中进行数据库自动安装和任意迁移。系统会自动进行语法、数据类型转换。3、数据库迁移:在不同数据库平台间进行数据库结构(包括数据表、索引、约束、视图和存储过程对象)和数据迁移。4、查询分析、数据表查询、数据编辑功能。提供专用的SQL编辑器、支持SQL语法高亮、快速脚本输入、脚本预定义等。5、预输出创建、更新SQL脚本。6、提供数据导入、导出功能。支持从Excel导入导出的双向编辑操作。7、对开发语言的支持。开放的数据库物理结构文件格式、并提供外部调用源程序,包含C#、Delphi、JAVA三个版本。8、数据库物理结构定义和实体数据库之间的比对更新、同步。9、可为可重用属性创建数据字典定义、并进行同步。10、采用方案定义、支持多个工程模式。11、提供自定义功能、可以根据需要扩展数据库结构定义文件。12、支持多语言(目前版本语言:中/英文)。并提供了新的语言定义的说明、可根据需要增加新的语言支持。website: www.bainsoft.com

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧