使用由ampersand前缀的值进行查询-在Oracle中工作,但在MySQL中不工作?

使用由ampersand前缀的值进行查询-在Oracle中工作,但在MySQL中不工作?,mysql,database,oracle,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 | +-------+---------+--------+----

在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     |
+-------+---------+--------+---------+
mysql> insert into emp1 values(&empno,'&empname',&empsal,'&empcity');**
在Oracle中,以下语句有效:

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     |
+-------+---------+--------+---------+
mysql> insert into emp1 values(&empno,'&empname',&empsal,'&empcity');**

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

Am假设符号是用于


Oracle支持这些功能,但MySQL不支持这些功能。

MySQL的类似代码如下:

SET @empno = 100, @empname = 'vinay', @empsal = 10000, @empcity = 'USA'; 
insert into emp1 values(@empno,@empname,@empsal,@empcity);
请注意插入值等中的
@
,无


如果要在不同的DBMS系统之间进行转换,则应计划进行重大重写。这只是Oracle和MySQL之间数百种不同之处之一。

'&'在Oracle中受支持,但在MySQL中不受支持,这就是为什么它在MySQL中出现编译错误。

k您能告诉我如何以正确的行格式编写这些表吗。在编写表之前,我们有什么要添加的吗?您不能用引号将值括起来吗?与“&empno”类似,因为PL_sql与MYSQLs sql实现的语言不同。变量的使用取决于供应商。你在问为什么我的C代码不能在Java中工作。