在MySQL中,以下语句有效:
mysql>insert into emp1(empno,empname,empsal,empcity) values (100,'vinay',10000,'USA');**
mysql> select * from emp1;
+-------+---------+--------+---------+
| empno | empname | empsal | empcity |
+-------+---------+--------+---------+
| 100 | vinay | 10000 | USA |
+-------+---------+--------+---------+
在Oracle中,以下语句有效:
mysql> insert into emp1 values(&empno,'&empname',&empsal,'&empcity');**
但这在MySQL中不起作用——为什么&
不能为值加前缀?
Am假设与号用于SQL*Plus替换变量。
Oracle支持这些功能,但MySQL不支持。
MySQL的类似代码如下:
SET @empno = 100, @empname = 'vinay', @empsal = 10000, @empcity = 'USA';
insert into emp1 values(@empno,@empname,@empsal,@empcity);
注意@
,INSERT
值中没有'
,等等
如果您在不同的DBMS系统之间进行转换,您应该计划进行重要的重写。这只是Oracle和MySQL之间数百个差异之一。
'&'在Oracle中受支持,但在MySQL中不受支持,这就是为什么它在MySQL中会出现编译错误。