老师,您好 oracle sql 语句 替换mysql 语句

作者&投稿:仪航 (若有异议请与网页底部的电邮联系)
将mysql语句换成oracle语句~

SELECT d1.domain_idTemporaryIId, d1.job_idTemporaryId,
d1.job_name job_name, d1.is_effectiveis_effective, d1.object_typeobject_type, d1.object_nameobject_name,
d1.object_ename object_ename, d1.object_location object_location, d1.time_field time_field, COUNT(d2.rule_id) columnNum from dq_conf_jobs d1,dq_conf_rule d2 where(d1.job_id = d2.job_id OR d1.job_id not in (SELECT job_id from dq_conf_rule))AND d2.is_effective = '1’ GROUP BY d1.job_id;

您好,首先需要这两个软件:PowerDesigner软件,oracle数据库。 1、将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件。 2、在PowerDesinger里找到 File -->> Reverse Engineer --->> Database

Oracle 里面   (+)  的处理,  迁移到 MySQL 里面, 是 LEFT  JOIN

通用测试表 

-- 学生表
CREATE TABLE student (
  SNO    INT,
  SNAME  VARCHAR(10),
  ICNO   INT
);

-- 食堂IC卡表
CREATE TABLE IC (
  ICNO     INT,
  ICNAME   VARCHAR(10),
  ICMoney  INT
);

INSERT INTO student VALUES(1, '张三', 1   );
INSERT INTO student VALUES(2, '李四', 2   );
INSERT INTO student VALUES(3, '王五', NULL);


INSERT INTO IC VALUES(1, '张三', 500 );
INSERT INTO IC VALUES(2, '李四', 250 );
INSERT INTO IC VALUES(3, '赵老师', 600);



Oracle 的

SELECT
  student.SNO,
  student.SNAME,
  IC.ICNAME,
  IC.ICMoney
FROM
  student, IC
WHERE
  student.ICNO = IC.ICNO(+);


      SNO SNAME                ICNAME                  ICMONEY
--------- -------------------- -------------------- ----------
        1 张三                 张三                        500
        2 李四                 李四                        250
        3 王五

可以理解为, 有 (+) 的, 就是  可选的 (也就是可以为 NULL 的)。



修改为 MySQL

SELECT
  student.SNO,
  student.SNAME,
  IC.ICNAME,
  IC.ICMoney
FROM
  student
    LEFT JOIN IC
      ON (student.ICNO = IC.ICNO);

+------+-------+--------+---------+
| SNO  | SNAME | ICNAME | ICMoney |
+------+-------+--------+---------+
|    1 | 张三  | 张三   |     500 |
|    2 | 李四  | 李四   |     250 |
|    3 | 王五  | NULL   |    NULL |
+------+-------+--------+---------+
3 rows in set (0.00 sec)


1.先要理解左右连接的意思,以及(+)所在位置代表的是什么连接
比如(+)在等号左边就是右连接,
即需要A left join B on (A.xx = B.xx) 等同于 from A,B where A.xx (+)= B.xx;

2.拿你的一个例子说吧:
from HB_ADPOSITION a,HB_CATALOG c
where a.RELA_CATALOGID=c.CATALOG_ID(+)
可以转换为
from HB_ADPOSITION a left join HB_CATALOG c on(a.RELA_CATALOGID=c.CATALOG_ID)


洛龙区13865704132: 开始安装oracle数据库口令是什么 -
侨瑞清开: 1·在oracle官网上下载oracle数据库,以Oracle Database 11g Release 2版本的oracle数据库为例,其他版本的安装也大同小异.注意,下载前得Accept License Agreement. 2·下载并解压文件,找到setup.exe,双击进行安装.与一般软件安...

洛龙区13865704132: oracle数据库sql命令怎么改 -
侨瑞清开: oracle中修改数据用update语句. 语法: UPDATE 表名 SET 字段='XXX' WHERE 条件; 如,数据库中,test表数据如下: 现在要将王五的名字改成王九,可用如下语句: update test set name='王九' where name='王五'; commit; 执行后结果:

洛龙区13865704132: 怎么将oracle的sql文件转换成mysql的sql文件 -
侨瑞清开: 您好,首先需要这两个软件:PowerDesigner软件,oracle数据库. 1、将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件. 2、在PowerDesinger里找到 File -->> Reverse Engineer --->> Database

洛龙区13865704132: oracle数据库安装后怎么使用 -
侨瑞清开: 你需要安装Oracle client然后通过SQL语句去访问,建议买一本入门的教材自学Oracle - 关系型数据库的知识是一通百通的,但是一定要会至少一个关系型数据库

洛龙区13865704132: oracle数据库中有哪些字符集,字符集之间的子集和超集关系是怎么样的? -
侨瑞清开: oracle数据库的字符集有很多的,具体的也不能一一详细地列举出来了,但是,建库的时候,会有选择字符集的界面,点开下拉条,将会列出oracle所支持的所有字符集(10/12). 超集与子集是包含和被包含的关系,超集兼容子集.

洛龙区13865704132: oracle数据库sql怎么查询第5到第8条数据? -
侨瑞清开: select * from (select * ,rownum row from table where rownum<=8) awhere a.row<=5

洛龙区13865704132: oracle 数据库 显示新建数据库连接失败 错误原因ora - 01017:用户名 口令无效 登陆被拒绝 -
侨瑞清开: 根据ORA-01017的提示是连接到另一方的用户密码错误,于是直接使用配置的用户密码(lsxy/lsxy)登录数据库发现正常登录,进一步的查看建立好后的dblink语句,其中用户名都转化为了大写,由此猜测密码是否也被转化为了大写从而导致密...

洛龙区13865704132: 怎样用sql语句查询oracle数据表的字段名及其数据类型 -
侨瑞清开: 楼主您好 all_tab_columns all_tab_cols 或者all换成user 分别是column_name和data_type字段

洛龙区13865704132: oracle数据库如何入门 -
侨瑞清开: 如果你的基础几乎为0的话,建议先学SQL语言,然后呢在Oracle入门理论方面有一个大概的了解,从哪找都可以,安装oracle,先利用数据库的几个基本表联系增删改查,连接等,在CUUG官网有免费教程的,然后就存储过程、游标、触发器...

洛龙区13865704132: oracle中 sql语句中的单行子查询中的<>是什么意思 -
侨瑞清开: 就是!= 意思是“非等于” deptno20意思是deptno!=20.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网