DB2数据库字段都是varchar类型的,我把这个语句放到SQL里执行,提示有一个error。请大侠帮忙看看 哪里错了

DB2数据库字段都是varchar类型的,我把这个语句放到SQL里执行,提示有一个error。请大侠帮忙看看 哪里错了,第1张

你拿着 Oracle 的脚本, 丢到 DB2 里面去跑。 自然是不通过的了。

首先, DB2 是可以支持 BEGIN END 这样的写法的。

例如:

db2 => TRUNCATE TABLE output_debug IMMEDIATE

DB20000I SQL 命令成功完成。

db2 => BEGIN \

db2 (cont) => DECLARE testvalue INT; \

db2 (cont) => SET testvalue = 0; \

db2 (cont) => MyLoop: LOOP \

db2 (cont) => SET testvalue = testvalue + 1; \

db2 (cont) => INSERT INTO output_debug VALUES( TO_CHAR(testvalue) ); \

db2 (cont) => IF testvalue >= 5 THEN \

db2 (cont) => LEAVE MyLoop; \

db2 (cont) => END IF; \

db2 (cont) => END LOOP; \

db2 (cont) => END

DB20000I SQL 命令成功完成。

db2 => select from output_debug

DATA

------------------------------------

1

2

3

4

5

5 条记录已选择。

然后,DB2 好像没 DBMS_OUTPUTput_line 这样的 方法。

DBMS_OUTPUTput_line 是 Oracle 特有的。

最后,

exception when others 这种, 是 Oracle 的异常处理代码。

DB2 的异常处理, 参考下面的例子:

TRUNCATE TABLE output_debug IMMEDIATE@

BEGIN

-- DB2 中,如果需要使用 sqlcode ,那么必须先 DECLARE 以后,才能使用。

DECLARE sqlcode INT;

P1: BEGIN ATOMIC

-- 定义错误处理

-- 如果发生错误,结束处理,并回滚前面做的处理。

DECLARE UNDO HANDLER

FOR

SQLEXCEPTION

BEGIN

-- 异常处理

INSERT INTO output_debug VALUES('出错啦!' || TO_CHAR(sqlcode));

END;

-- 先更新

UPDATE test_main SET value = 'Test3' WHERE id = 1;

-- 插入一行主键重复数据

INSERT INTO test_main VALUES(1, 'PK');

INSERT INTO output_debug VALUES('本语句不会执行到!');

END P1;

END

@

db2 => select from test_main WHERE id = 1@

ID VALUE

----------- ----------

1 Test2

1 条记录已选择。

db2 => select from output_debug@

DATA

----------------------------------------

出错啦!-803

常用数据库有mysql、oracle、sqlserver、sqlite等。

1、Oracle数据库

Oracle数据库管理系统是由甲骨文(Oracle)公司开发的,在数据库领域一直处于领先地位。目前,Oracle数据库覆盖了大、中、小型计算机等几十种计算机型,成为世界上使用最广泛的关系型数据管理系统(由二维表及其之间的关系组成的一个数据库)之一。

2、SQLServer数据库

SQLServer是由微软公司开发的一种关系型据库管理系统,它已广泛用于电子商务、银行、保险、电力等行业。SQLServer提供了对XML和Internet标准的支持,具有强大的、灵活的、基于Web的应用程序管理功能。

3、DB2数据库

DB2数据库是由IBM公司研制的一种关系型数据库管理系统,主要应用于OS/2、Windows等平台下,具有较好的可伸缩性,可支持从大型计算机到单用户环境。

4、MongoDB数据库

MongoDB是由10gen公司开发的一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似JSON的bjson格式,因此可以存储比较复杂的数据类型。

5、MySQL数据库

MySQL数据库管理系统是由瑞典的MySQLAB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可以获得该数据库的源代码并修正MySQL的缺陷。

6、Sybase数据库

美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。

以上就是关于DB2数据库字段都是varchar类型的,我把这个语句放到SQL里执行,提示有一个error。请大侠帮忙看看 哪里错了全部的内容,包括:DB2数据库字段都是varchar类型的,我把这个语句放到SQL里执行,提示有一个error。请大侠帮忙看看 哪里错了、数据库有哪几种、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9316478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存