现在正在进行从MYSQL到ORACLE的数据库迁移。
我有MySQL方面的经验,但没有Oracle方面的经验,所以请帮助我将下面的MYSQL查询转换为ORACLE
Mysql查询:
SELECT MIN(id) as min_id, Server_Name
FROM details
WHERE Server_Role IS NOT NULL THEN
GROUP BY Server_Name
我正在使用为通用SQL数据库编写一组迁移文件。该项目需要支持Oracle、MySQL和PostgreSQL,这意味着无论使用哪种受支持的数据库类型,我的迁移文件都需要足够灵活地运行。
在某些情况下,这是一个问题。例如,如果我希望迁移文件重命名一列,那么MySQL和Oracle之间的语法是不同的。
MYSQL
ALTER TABLE "table_name" CHANGE "old_column_name" "new_column_name" DATATYPE;
甲骨文
ALTER TABLE "table_name" RENAME
我使用作为迁移接口,将数据库从MySql迁移到Oracle数据库。我是Oracle的新手,不确定这是否值得在Oracle中使用触发器重写,或者在Oracle中使用自动增量(如果存在的话)。
在为自动增量生成迁移脚本之后,下面是生成的MySQL触发器代码:
CREATE OR REPLACE TRIGGER Trigger_name BEFORE INSERT ON Table_name
FOR EACH ROW
DECLARE
v_newVal NUMBER(12) := 0;
v_incval NUMBER(12) := 0;
BEGIN
IF INSERTING AND :new.t