iT邦幫忙

0

SQL 可以讀取一次 ROW 就不再讀嗎 ?

以下有 13 ROW , 假如讀取符合條件的 123 ROW 後 , 下次搜尋條件時 , 就算 123 ROW 條件符合 , 也不會再讀取嗎 ? 我只想到讀取後就刪除 123 ROW , 還有其他辦法嗎 ?

https://ithelp.ithome.com.tw/upload/images/20181001/20104326l5X5l75Iwh.png

竹本立里 iT邦研究生 5 級 ‧ 2018-10-01 09:31:40 檢舉
最簡單的方法 建立暫存TABLE
複雜一點的方法,增加一個欄位紀錄被讀取過
請不要把程式該做的事,交給資料系統來處理。
分工好各系統能做的事。你會很容易解決這個問題。

你可以將你row出來的資料,緩存到一個文件或是一個表或是存在session內都可以。這樣就不需要再下sql命令。

所有程式語言都是很笨的,你不要將其想的太萬能。能辦到什麼事,都還是靠人來處理的。也不要想用一個工具就能應付所有的事。
...那叫ai

2 個回答

0
fuzzylee1688
iT邦新手 2 級 ‧ 2018-10-01 09:45:26

增加 一view timestamp欄位, 當顯現資訊, 即update 該欄,
當下次select 該欄有值則排除它, 即可.

看更多先前的回應...收起先前的回應...
alex9453 iT邦新手 3 級 ‧ 2018-10-01 14:29:52 檢舉

謝謝你熱心回答 , 請問這方面指令 , 要從什麼方向去找 , 我剛找了sql 欄位被讀取及記錄讀取欄位 , 都沒有找到資料 , 請問關鍵字要怎麼下

竹本立里 iT邦研究生 5 級 ‧ 2018-10-01 14:42:43 檢舉

這不就是我回答的第二個選項嗎
指令不就是 updata 嗎??
把select 到的資料全部 updata 就好了
下次select 記得把這個欄位加進 select 的條件就好

竹本立里 iT邦研究生 5 級 ‧ 2018-10-01 14:48:01 檢舉

https://ithelp.ithome.com.tw/questions/10188992
這篇我就回答過了
會員有
新增
修改
查詢
刪除
這不就只是 SQL 的
INSERT
UPDATE
Select
DELETE
但實際上真的會這樣運用嗎

實際上刪除(DELETE)會員,真的是刪除嗎?? 其實通常是某格欄位
例如無效會員的欄位(0有效,1無效) 對他做UPDATE 成1 而已

平常要看會員 都是
Select * form [客戶管理系統].[dbo][會員資料] where 無效會員 = '0'

放心,能明白你說的話或是fuzzylee1688所說的。就不會有「請問這方面指令 , 要從什麼方向去找」這樣的問題出現了。

也就是代表,他根本基本還沒懂。所以就算答案在他眼前了。
他根本不知道這就是答案。還會一直問「要從哪邊找」

明明大家都說完答案也告知問題了,還在那邊「從什麼方向找」
實在很無解了。

alex9453 iT邦新手 3 級 ‧ 2018-10-01 21:16:25 檢舉

謝謝大家這麼熱心回答 , 我的程度只有看簡單的範例上做才會如下 , 要轉到比較複雜的問題就不會了

UPDATE Store_Information
SET Sales = 500
WHERE Store_Name = 'Los Angeles'
AND Txn_Date = 'Jan-08-1999';

我想到 UPDATE 下面這樣做

$sql_query="SELECT *,MIN(time)FROM `fruit` WHERE time LIKE '0%' AND afc LIKE '%蘋果%' AND afc1 LIKE '%蘋果%' OR afc1 LIKE '%芭樂%' OR afc1 LIKE '%西瓜%' UNION UPDATE `fruit` SET view=1 WHERE time LIKE '0%' AND afc LIKE '%蘋果%' AND afc1 LIKE '%蘋果%' OR afc1 LIKE '%芭樂%' OR afc1 LIKE '%西瓜%'";

要看系統的需求和架構,在程式化以前,請先將邏輯建立清楚。
程式可以寫的爛,寫的夠天,寫得像是武功祕笈,代號或物件命名全部都是沒人懂是什麼意思的代號,全部都寫得沒人看得懂,比無字天書還困難..

但重點是,邏輯要弄清楚,一堆物件命名A、AA、AAA、AAAA、B、BB、BBB、BBBB;邏輯很清楚,那個A從頭到尾都不會變成AAAA,也不會變B,更不會變BBBB..

給上面某樓。
刪除會員真的就是刪除嗎?
是不是真的刪除,要看需求。
依據個資法,顧客要求刪除會員資料,你敢不刪除,只是update flag嗎?

竹本立里 iT邦研究生 5 級 ‧ 2018-10-01 22:51:54 檢舉

對關聯式資料庫而言,刪除Primary Key 是很嚴重的事情
如果是因為個資法 當然有其他處理方法.....

也是給樓上某樓……
如果有人敢在我手下或是我所接的code敢給我寫A、AA、AAA這種變數的話。
我管他邏輯多清楚先幹翻一頓再說。
因為會這樣寫的人,不只邏輯不清楚,腦袋也不清楚。

coding style不是寫給自己爽的東西。

froce iT邦大師 3 級 ‧ 2018-10-02 08:10:39 檢舉

放心,能明白你說的話或是fuzzylee1688所說的。就不會有「請問這方面指令 , 要從什麼方向去找」這樣的問題出現了。

所以各位還繼續教個還沒學會走就想要飛,連基本能力都還沒有就想每個月靠程式賺個3萬5的,真的讓我佩服。

我是不想害到雇他的廠商啦。

rising iT邦新手 5 級 ‧ 2018-10-02 09:13:12 檢舉

用欄位紀錄刪除日期來過濾資料的做法叫做 Soft Delete,部份書上會提到,或是去看資料庫框架也部分會提到這種設計方式

教初學者開發程式要著重設計的觀念, 這比直接給code要有用多了. 當然教者有心, 聽者也要有底呀, 程式每個人都會寫, 既然要當老師, 心境也要平和,才能給學生正確的方向.

fuzzylee1688
如果是初學者的話,且肯認真學習的人,當然是ok的。
你可以多多去看他發的每一篇文章。
不是不想心境平和,我相信你看完後,也不會再平和有耐心了。

alex9453 iT邦新手 3 級 ‧ 2018-10-04 11:48:17 檢舉

我之前發問 , 大部分都有說感謝大家熱心回答 , 畢竟大家也只是好意 , 沒人有義務回答你 , 沒人回答是正常的 , 有人願意回答就要感恩了 , 我知道我的程度不夠 , 主要是現在有專案可學 , 我覺得有壓力才會有進步 , 沒壓力慢慢學進度都很慢 , 所以才會常請教大家 , 希望大家能夠見諒

alex9453 iT邦新手 3 級 ‧ 2018-10-04 14:05:53 檢舉

感謝大家的回答,到時如果接到案子 , 會看看有多少人有建設性的建議 , 會請大家吃頓大餐 , 至少是響食天堂

0
圓頭人
iT邦新手 2 級 ‧ 2018-11-19 15:23:08

這個問題,聽起來很卡.
為什麼看過就不再看了呢
如果下一樣的條件,資料忽然不見了,感覺好奇怪啊~

什麼情況下,會有這樣的需求呢?

我要發表回答

立即登入回答