我目前正在向DB2移植一个MySql数据库。到目前为止,我已经能够迁移表,但不幸的是,函数和触发器需要手动迁移。我读到过用于DB2的pl/sql,但在DB2的express-c版本中不支持它。关于如何将mysql函数和触发器转换为DB2,有什么替代方法吗?
发布于 2011-04-26 21:54:35
我认为您将PL/SQL ( Oracle兼容层)与SQL混淆了,SQL是DB2所有版本中内置的过程化语言,包括DB2 Express-C。
实际上,您可以在DB2 Express-C中定义stored procedures、functions和triggers。在Getting Started电子书中应该有一些关于它的信息。
发布于 2015-05-06 02:41:16
只要你坚持使用SQL-92标准,你就不会有任何问题--否则,你将不得不创建一些过程来增强兼容性我为BIT_XOR做了一个:
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)
;https://stackoverflow.com/questions/5786456
复制相似问题