SQL 語法請教(如何將關聯式資料一次刪除???) |
答題得分者是:jerryhung
|
cherry
一般會員 發表:16 回覆:26 積分:8 註冊:2002-06-28 發送簡訊給我 |
各位好: 請教一個sql 語法, 一次將相關性的資料全部delete。
例如:清除 [表A] RecNo=1 和 [表B] 中MainRecNo=1 ,
而且[表A]時間和序號為查詢條件。
我的資料表格式如下:
=====================================
TB_A RecNo LogTime SN
1 2003-04-23 16:31:00 TXT
2 2003-04-23 19:25:40 CODE
3 2003-05-13 12:31:00 YY TB_B
RecNo MainRecNo ItemID
1 1 001
2 1 002
3 2 001
4 2 002
5 2 003
=====================================
只會查詢的語法,
但是刪除的語法我不會...
請問該怎麼下這個 query?
[查詢]
select a.*, b.*
from TB_A a, TB_B b
where (b.MainRecNo = a.RecNo) and (a.SN ='YY' And a.logtime='2003-04-23 16:31:00')
[刪除](這樣子處理會有問題=> ',' 附近的語法不正確。)
Delete from
from TB_A a, TB_B b
Where (a.SN ='YY' And a.logtime='2003-04-23 16:31:00')
and (b.MainRecNo = a.RecNo) 謝謝~
|
jerryhung
初階會員 發表:6 回覆:46 積分:30 註冊:2002-12-11 發送簡訊給我 |
引言: D. 依據子查詢使用 DELETE 或使用 Transact-SQL 擴充功能 這個範例顯示了用來從依據某個聯結或相關子查詢所建立的基底資料表中刪除資料記錄的 Transact-SQL 擴充功能。第一個 DELETE 顯示了 SQL-92 相容的子查詢解決方案,第二個 DELETE 顯示了 Transact-SQL 擴充功能。這兩個查詢均可從 titles 資料表中儲存標題所建立的 titleauthors 資料表中移除資料列。 /* SQL-92-Standard subquery */ USE pubs DELETE FROM titleauthor WHERE title_id IN (SELECT title_id FROM titles WHERE title LIKE '%computers%') /* Transact-SQL extension */ USE pubs DELETE titleauthor FROM titleauthor INNER JOIN titles ON titleauthor.title_id = titles.title_id WHERE titles.title LIKE '%computers%'所以應該小小修改一下就行了說 不過我相信這才是你卡住的重點 SQL的DELETE應該不能一次刪除多個資料表的資料,一次只能一個資料表 所以一個方法是,可把所有關聯資料Select出來到temp資料表裡面 然後再用Delete把TableA裡面有對應到temp的Key的資料都刪除 (Master) Detail子資料表也可以這樣做.... 發表人 - jerryhung 於 2003/07/24 11:54:56 |
cherry
一般會員 發表:16 回覆:26 積分:8 註冊:2002-06-28 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
ying0515
中階會員 發表:90 回覆:168 積分:81 註冊:2003-01-04 發送簡訊給我 |
|
cherry
一般會員 發表:16 回覆:26 積分:8 註冊:2002-06-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |