我有一个sql脚本文件,它创建表并插入数据。sqlplus和sqldeveloper的区别?
服务器在Oracle 10g上运行。
当我使用sqldeveloper(远程计算机)并运行我的脚本时,一切都很完美。但是,当我在服务器上,并在相同的数据库,架构上运行相同的脚本,出现sqlplus用户出现一些错误(完整性,唯一...)?
问题是什么,为什么我在sqldeveloper上没有问题,但在sqlplus上有一些问题?什么会导致这种情况?
我有一个sql脚本文件,它创建表并插入数据。sqlplus和sqldeveloper的区别?
服务器在Oracle 10g上运行。
当我使用sqldeveloper(远程计算机)并运行我的脚本时,一切都很完美。但是,当我在服务器上,并在相同的数据库,架构上运行相同的脚本,出现sqlplus用户出现一些错误(完整性,唯一...)?
问题是什么,为什么我在sqldeveloper上没有问题,但在sqlplus上有一些问题?什么会导致这种情况?
好我发现问题:
我运行我的脚本一切都很完美。但是,当我在服务器上,我运行相同的数据库,架构同一脚本,sqlplus用户出现一些错误(完整性,独特的...)?
看起来好像您的脚本处理创建和插入操作,但不会删除现有数据。没有看看你的脚本,没有办法告诉它,但我可以用我的测试数据来模拟。
test.sql
:
create table parts (id number primary key,
description varchar2(240)
)
/
insert into parts values(1,'Keyboard');
insert into parts values(2,'Mouse');
insert into parts values(3,'Monitor');
运行在SQL Developer中的脚本:
在SQL * Plus运行 - 相同的用户,架构,数据库:
SQL> @/home/oracle/Desktop/test.sql
create table parts (id number primary key,
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
insert into parts values(1,'Keyboard')
*
ERROR at line 1:
ORA-00001: unique constraint (HR.SYS_C0016596) violated
insert into parts values(2,'Mouse')
*
ERROR at line 1:
ORA-00001: unique constraint (HR.SYS_C0016596) violated
insert into parts values(3,'Monitor')
*
ERROR at line 1:
ORA-00001: unique constraint (HR.SYS_C0016596) violated
问题我有一个类似的立场遇到:
/
行。this is good;
this is bad; -- comment
this is bad;;
SELECT 'this is good' FROM Dual
SELECT 'this is bad' [empty line with no text] FROM Dual
感谢在/* multi-line comments */
抬头 - 我添加了我的测试脚本。
只是为了完整性,SQL Developer和sqlplus很可能运行不同的nls会话参数。要检查,运行在sqlplus和SQL Developer的这个命令并比较结果:
SELECT * FROM nls_session_parameters;
万一有一些区别,你可以通过类似设置你想要的nls_session_parameters:
ALTER SESSION SET NLS_DATE_FORMAT='DD/MM/RR';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT='DD/MM/RR HH24:MI:SSXFF';
我有同样的问题。我也有一些以分号结尾,然后是斜杠(\)的陈述。 SQLPlus将重新运行该语句,但SQL Developer不会。 – 2012-09-12 03:05:32
它还可以帮助为每个表添加注释,以便由SQLDeveloper在导出中生成的/将位于“COMMENT ON TABLE”语句之前,而不是CREATE TABLE语句之前,因此执行此命令时不会生成错误第二次。任何方式都很伤心。 – PierluigiVernetto 2014-09-01 08:47:06
也检查http://stackoverflow.com/questions/1079949/sql-the-semicolon-or-the-slash。您可以使用SQLDeveloper 4并使用“终止符”选项来缓解该问题 – PierluigiVernetto 2014-09-01 09:13:36