[英]Query with values prepended by ampersand - works in Oracle but not in MySQL?
在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中不起作用 - 为什么不能通过&
预先设置值?
假设&符号用于SQL * Plus替换变量 。
这些是Oracle支持的,但不是MySQL支持的。
类似的MySQL代码是这样的:
SET @empno = 100, @empname = 'vinay', @empsal = 10000, @empcity = 'USA';
insert into emp1 values(@empno,@empname,@empsal,@empcity);
注意INSERT
值中的@
,no '
等。
如果要在不同的DBMS系统之间进行转换,则应该计划进行重要的重写。 这只是Oracle和MySQL之间数百个差异之一。
Oracle中支持'&',但MySQL不支持这就是为什么它在MySQL中提供编译错误的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.