- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL与Oracle语法对比
MySQL与Oracle语法对比;Oracle中有NUMBER;MySQL中有INT/INTEGER/DECIMAL,INT=NUMBER(10),DECIMAL=NUMBER(10,2)
Oracle中有VARCHAR2;MySQL有VARCHAR
Oracle中有DATE,包含年月日时分秒信息;MySQL中有DATE/TIME/DATETIME;MySQL与Oracle语法比较之基本语法(一);-- Oracle
SELECT SYSDATE FROM DUAL;
-- MySQL
SELECT NOW();
SELECT SYSDATE();
SELECT CURDATE();
SELECT CURRENT_DATE();
SELECT CURRENT_DATE;
SELECT CURRENT_TIME;;;MySQL与Oracle语法比较之基本语法(二);MySQL中INT主键可自增长,在建表时指定主键自增长即可;Oracle则需使用序列
MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串
MySQL中使用ALTER TABLE old_name RENAME new_name更改表名;Oracle中使用RENAME old_name TO new_name;MySQL与Oracle语法比较之条件循环语句;mysql-- WHILE 语句
CREATE PROCEDURE prc_test_while()
BEGIN
DECLARE i INT;
SET i=0;
WHILE i5 DO
INSERT INTO t_test_a(`name`, `age`, `score`)
VALUES(name7, 20, 90);
SET i = i + 1;
END WHILE;
END;;-- FOR 语句
CREATE PROCEDURE prc_test_loop()
BEGIN
DECLARE i INT DEFAULT 0;
label: LOOP
INSERT INTO t_test_a(`name`, `age`, `score`) VALUES (name6, 20, 90);
SET i = i + 1;
IF i=5 THEN
LEAVE label;
END IF;
END IF;
END;;MySQL与Oracle语法比较之存储过程(一);1.用户变量:以“@”开始,形式为“@变量名”,用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效2.全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名? 或者? set @@global.变量名?,对所有客户端生效。只有具有super权限才可以设置全局变量3.会话变量:只对连接的客户端有效。4.局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量declare语句专门用于定义局部变量。set语句是设置不同类型的变量,包括会话变量和全局变量;Oracle存储过程和方法都可以使用RETURN退出当前过程;MySQL存储过程中只能使用LEAVE退出当前存储过程,不可以使用RETURN,如:LEAVE label;
Oracle中NO_DATA_FOUND是游标的一个属性,当SELECT没有查到数据就会出现 No Data Found的异常,程序不会向下执行;MySQL中则没有NO_DATA_FOUND属性,但可以使用FOUND_ROWS()方法??到SELECT语句查询出来的数据,如果FOUND_ROWS()得到的值为0,就进入异常处理逻辑.
Oracle中调用存储过程直接写存储过程名即可,如:prc_Procedure_Name(参数),没有参数时可省略“()”;MySQL需用CALL关键字,如CALL prc_Procedure_Name(参数),即使没有一个参数也需要“()”;-- 创建存储过程
DROP PROCEDURE IF EXISTS prc_test;
CREATE PROCEDURE prc_test(parameter1 VARCHAR(20), OUT parameter2 VARCHAR(20))
label : BEGIN
DECLARE param1 VARCHAR(20);
IF parameter1 = THEN
SELECT 空;
LEAVE label;
END IF;
SET param1 := parameter1;
SET
原创力文档


文档评论(0)