全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1018
推到 Plurk!
推到 Facebook!

SQL語法問題 急!!請幫忙

答題得分者是:tech_state
TIY~2
一般會員


發表:26
回覆:37
積分:22
註冊:2003-08-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-11 18:46:24 IP:218.162.xxx.xxx 未訂閱
AnsiString buffer_BCR; buffer_BCR="updata groups set groups.test='501' where groups.test2='360'" 上面字串是可以更新groups某一筆資料裡的test2欄位裡等於360的test欄改為501 試問:updata groups set groups.test='509' where groups.test2='500' 要如何也可以加進去一起做更新 , 如何撰寫阿? buffer_BCR="updata groups set groups.test='501' where groups.test2='360' AND updata groups set groups.test='509' where groups.test2='500'" 用AND合併嗎?但我試過了不行 ADOQuery->Close(); ADOQuery->SQL->Clear(); ADOQuery->Parameters->Clear(); ADOQuery->SQL->Add(buffer_BCR); ADOQuery->ExecSQL(); 祇執行一次而已
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-11 21:11:45 IP:61.218.xxx.xxx 未訂閱
TIY~2, 您好 剛剛找了一下SQL的help檔,發現update好像不能這樣做。 update好像只允許同時修改不能的欄位(Field),不能相同的欄位同時修改。 以下是由help檔擷取出來的範例。  
A. 使用簡單的 UPDATE
這些範例將展示在省略 UPDATE 陳述式的 WHERE 子句時,如何影響所有的資料列。    如果  publishers 資料表中的所有出版社將總公司遷移至 Georgia 州的 Atlanta,本範例將展示更新 publishers 資料表的方式。    UPDATE publishers
SET city = 'Atlanta', state = 'GA'    本範例將變更所有出版商的名稱為 NULL。    UPDATE publishers
SET pub_name = NULL    您也可以在更新中使用已計算的值。本範例將 titles 資料表中的價格變成兩倍。    UPDATE titles
SET price = price * 2    B. 使用含有 WHERE 子句的 UPDATE 陳述式
WHERE 子句指定要更新的資料列。例如,在假想的事件中,northern California 更名為 Pacifica (縮寫為 PC),而 Oakland 的居民投票將城市名稱變更為 Bay City。本範例展示如何針對住址失效的所有前 Oakland 居民,更新 authors 資料表。    UPDATE authors
   SET state = 'PC', city = 'Bay City'
      WHERE state = 'CA' AND city = 'Oakland'    您必須撰寫另外一個陳述式為 northern California 其它城市的居民變更州名。    C. 使用 UPDATE 陳述式並配合使用其它資料表的資訊
本範例將修改 titles 資料表中的 ytd_sales 資料行,以反映 sales 資料表中所記錄的最新銷售額。    UPDATE titles
   SET ytd_sales = titles.ytd_sales   sales.qty
      FROM titles, sales
         WHERE titles.title_id = sales.title_id
         AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales)    本範例假設針對指定日期且已更新為最新資料的指定 title,只記錄一個銷售額集合。如果不是這種情況 (如果在同一天內,可以記錄指定 title 的多個銷售額),則此處所展示的範例將無法得到正確的結果。執行不會發生錯誤,但是無論該日實際上發生多少銷售額,每一個 title 只會更新一個銷售額。這是因為單一 UPDATE 陳述式不會對同一個資料列進行兩次更新。    如果在同一天內,一指定的 title 可以發生多個銷售額,則必須在 UPDATE 陳述式內彙總每一個 title 的所有銷售額,如同下列範例所顯示:    UPDATE titles
   SET ytd_sales = 
      (SELECT SUM(qty)
         FROM sales
            WHERE sales.title_id = titles.title_id
            AND sales.ord_date IN (SELECT MAX(ord_date) FROM sales))
   FROM titles, sales    D. 使用 UPDATE 配合 SELECT 陳述式中的 TOP 子句
本範例將會更新 authors 資料表前 10 個作者的 state 資料行。    UPDATE authors
SET state = 'ZZ' 
FROM (SELECT TOP 10 * FROM authors ORDER BY au_lname) AS t1
WHERE authors.au_id = t1.au_id     
================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
系統時間:2024-04-24 19:00:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!