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

Vin*_*uru 7 mysql database oracle

在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     |
+-------+---------+--------+---------+
Run Code Online (Sandbox Code Playgroud)

在Oracle中,以下声明有效:

mysql> insert into emp1 values(&empno,'&empname',&empsal,'&empcity');**
Run Code Online (Sandbox Code Playgroud)

但是这在MySQL中不起作用 - 为什么不能将这些值放在前面&呢?

Ste*_*ers 6

假设&符号用于SQL*Plus替换变量.

这些是Oracle支持的,但不是MySQL支持的.


Ric*_*mes 5

类似的MySQL代码是这样的:

SET @empno = 100, @empname = 'vinay', @empsal = 10000, @empcity = 'USA'; 
insert into emp1 values(@empno,@empname,@empsal,@empcity);
Run Code Online (Sandbox Code Playgroud)

请注意@,没有'INSERT值等.

如果要在不同的DBMS系统之间进行转换,则应该计划进行重要的重写.这只是Oracle和MySQL之间数百个差异之一.