首页
学习
活动
专区
圈层
工具
发布

db2编程
EN

Stack Overflow用户
提问于 2011-04-26 13:48:15
回答 2查看 549关注 0票数 1

我目前正在向DB2移植一个MySql数据库。到目前为止,我已经能够迁移表,但不幸的是,函数和触发器需要手动迁移。我读到过用于DB2的pl/sql,但在DB2的express-c版本中不支持它。关于如何将mysql函数和触发器转换为DB2,有什么替代方法吗?

EN

回答 2

Stack Overflow用户

发布于 2011-04-26 21:54:35

我认为您将PL/SQL ( Oracle兼容层)与SQL混淆了,SQL是DB2所有版本中内置的过程化语言,包括DB2 Express-C

实际上,您可以在DB2 Express-C中定义stored proceduresfunctionstriggers。在Getting Started电子书中应该有一些关于它的信息。

票数 5
EN

Stack Overflow用户

发布于 2015-05-06 02:41:16

只要你坚持使用SQL-92标准,你就不会有任何问题--否则,你将不得不创建一些过程来增强兼容性我为BIT_XOR做了一个:

代码语言:javascript
复制
CREATE FUNCTION BITAND (N1 Integer, N2 Integer)
RETURNS Integer
SPECIFIC BITANDMySQL
LANGUAGE SQL
CONTAINS SQL
NO EXTERNAL ACTION
DETERMINISTIC
RETURN
WITH
Repeat (S, M1, M2, Ans) AS
(Values (0, N1, N2, 0)
Union All
Select S+1, M1/2, M2/2, Ans+MOD(M1,2)*MOD(M2,2)*power(2,S)
From Repeat
Where M1 > 0
AND M2 > 0
AND S < 32
)
SELECT ANS
FROM Repeat
WHERE S = (SELECT MAX(S)
FROM Repeat)
;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5786456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档