sql 2000 里有一個表
jilu
shenfenzhenghao riqi shifoulishi
(身份證號) (日期) (是否歷史)
111111 2014-01-01 否
222222 2014-01-02 否
111111 2014-01-03 是
333333 2014-01-04 否
222222 2014-01-05 是
解釋下,表jilu 有三個欄位, 前兩個直接忽視具體內容好了。
每條記錄是按序添加的,比如在添加2014-01-03 的111111 的時候,會自動檢索2014-01-03 以前的紀錄。如果有歷史紀錄的,則在shifoulishi 里面填 是 同理,2014-01-05 的222222的時候,因為在2014-01-02 出現過222222 了,那么是否歷史 就是是了,, 求大神指點這個回圈判斷delphi怎么寫。。。
uj5u.com熱心網友回復:
,,感覺這個用資料庫自身的計算公式自動換算更容易啊 !
uj5u.com熱心網友回復:
shifoulishi這個記錄的添寫有兩種方法。1、用程式判斷,先Select * from jilu where shenfenzhenghao=?是否這空。來添寫這個值。
2、用資料庫的表觸發器來完成值的添寫,在事件Insert Before事件里用游標來判斷。
uj5u.com熱心網友回復:
感覺用觸發器更好一些uj5u.com熱心網友回復:
select count(*) from jilu回傳值如果大于1就是有過記錄,不需要自己在前臺寫回圈,效率太低。
uj5u.com熱心網友回復:
說錯了,回傳值大于0就是有過記錄。
uj5u.com熱心網友回復:
,sql 能有哪些計算公式
uj5u.com熱心網友回復:
別用觸發器,別用觸發器
別用觸發器
uj5u.com熱心網友回復:
insert into jilu(shenfenzhenghao,riqi,shifoulishi)select '111111', '2015-01-01',(case when b.xx > 0 then '是' else '否' end) from
(select count(1) as xx from jilu where shenfenzhenghao='111111') b
uj5u.com熱心網友回復:
insert into tvalues( 新號,新日期,case when exists(select null from t where 號=新號 and 日期<新日期) then 是 else 否 end )
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/90346.html
標籤:數據庫相關
上一篇:前臺呼叫存貯程序與查詢分析器呼叫結果不同,用查詢分析器執行的結果是對的,程式里不連續的有部份代碼沒有執行到,很奇怪
