我有一個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