繁体   English   中英

用&符号前面的值查询 - 在Oracle中工作但在MySQL中不工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM