insert語法問題 |
尚未結案
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
我在pl/sql下了這樣一個sql的語法 insert into ORATT(aa,bb,cc)
(select x.aa, x.bb,y.cc
from ORAA x,ORAB y,
ORAC z
where x.aa=x.aa and x.bb=x.bb and
x.aa=z.aa)
他畫面下也顯示 xxx rows inserted in 8.321 seconds
且沒有錯誤訊息 可是我在oratt上面卻找不到資料,但我若只下
select x.aa, x.bb,y.cc
from ORAA x,ORAB y,
ORAC z
where x.aa=x.aa and x.bb=x.bb and
x.aa=z.aa and
確實可以找出資料來 為什麼上面的insert卻新增不出資料呢? 發表人 - laman 於 2004/07/02 18:48:23
|
pgdennis
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
改用 "SHARED NOTAUTOCOMMIT"還是一樣的
若說程式中有某個地方有下到commit指令 那應該在其他台電腦也是
查詢不到資料的才對,但是其他台又很正常,可以查詢到新增的資料
所以才會想說是不是在dbe資料庫連結設定有不一樣
因為原作者有特意把這段工作用另一個bde別名來處理 現在我把他
改在insert前加了
TRUNCATE TABLE TableName
可是執行卻會出現錯誤訊息 Compilation errors for PROCEDURE ORDC.SPORDCA_IRA_PRE2 Error: PLS-00103: 發現了符號 "TABLE" 當您等待下列事項之一發生時:
:= . ( @ % ;
符號 ":= 在 "TABLE" 繼續之前插入.
Line: 10
Text: TRUNCATE TABLE ORDCA_IRA_TT;
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
-- Drop table
drop table ORDCA_IRA_TT cascade constraints;
-- Create table
create global temporary table ORDCA_IRA_TT
(
FLAG CHAR(1),
RECTASK CHAR(1),
DATASOURCE CHAR(1),
WORKSTATUS CHAR(1),
OPNO CHAR(8),
LOC_NO CHAR(11),
DIC VARCHAR2(3),
RIC VARCHAR2(3),
FSN VARCHAR2(15),
UI VARCHAR2(2),
DIQTY NUMBER(5),
REALQTY NUMBER(5),
PROBQTY NUMBER(5),
VSN VARCHAR2(15),
AC VARCHAR2(2),
C VARCHAR2(1),
PR VARCHAR2(2),
UP NUMBER(7,2),
RCN VARCHAR2(18),
VALUE NUMBER(9,2),
LTDQ VARCHAR2(4),
MFT_DATE CHAR(8),
IRA_MRK VARCHAR2(255),
PPNO VARCHAR2(40),
TRANS_NO VARCHAR2(6),
BILL_NO VARCHAR2(18),
BOX_NO VARCHAR2(5),
PUB_DOC VARCHAR2(60),
CDATE CHAR(8),
TO_STORE CHAR(4),
TO_LOC_NO CHAR(11),
DUTY_DEPT_ID VARCHAR2(6),
DUTY_DEPT_NAME VARCHAR2(20),
PROC_MEMO VARCHAR2(255),
STORE_IN_DATE VARCHAR2(8),
STORE_IN_USER_ID VARCHAR2(10),
STORE_IN_USER VARCHAR2(20),
OQTY NUMBER(5),
NOUN VARCHAR2(40)
)
on commit delete rows; 應該沒特別的異常吧?
|
Mickey
版主 ![]() ![]() ![]() ![]() ![]() 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
是沒啥異常... 不過, 我在 SQL Explorer 中試, BDE 的 "SQLPASSTHRU MODE"參數, 改用 "SHARED NOTAUTOCOMMIT", 也很正常.
引言: 因為原作者有特意把這段工作用另一個bde別名來處理不同的 AliasName...是用同一個 Session 嗎 ? 若用不同的 Session...當然是看不到 Temporary Table 的 Data...即使是 on commit preserve rows 也一樣. 引言: 其他台又很正常,可以查詢到新增的資料那可以比對看看..."別台"的 BDE 如何設定(包括 BDE Administrator 中,Oracle Driver 的設定). 發表人 - Mickey 於 2004/07/06 10:04:09 |
laman
一般會員 ![]() ![]() 發表:24 回覆:33 積分:11 註冊:2004-05-10 發送簡訊給我 |
session都是相同的
他新增資料和顯示資料都在同一個aliasname和同一個session下作的
所以只要沒被commit掉應該是可以看的到資料才對
但是如果是在程式中有被commit
那其他電腦用這個程式應該也是會看不到資料才對摟
但是其他電腦是可以看到資料的,所以表示程式是正常的
那我覺得應該就只剩下外部設定有不一樣
所謂外部應該也只有BDE而已了吧
但是很可惜的是"其他電腦"並不在公司..原作者也不在公司
所以就好麻煩了..看來要再找看看有沒有參考文件可以查一下設定了 感謝各位的回應..^^
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |