Home
R
Cancel

[SQL] NOT IN 的使用方式 (同等 Where Not ...)

IN可能存在的效能疑慮(效能差),可以使用EXISTS取代。 範例一 --取得負責人ID不是1、2、3的負責人姓名 select [負責人姓名] from [負責人清單] where [負責人ID] not in (1,2,3) 執行結果 負責人姓名 藤本 小林 伊藤 佐瀨 宇賀神 岡田 Where Not Not In與下面 where not敘述方式相同: sel...

[SQL] IN 的使用方式

IN可能存在的效能疑慮(效能差),可以使用EXISTS取代。 範例一 取得負責人ID為1、2、3的負責人姓名 --取得負責人ID為1、2、3的負責人姓名 select [負責人姓名] from [負責人清單] where [負責人ID] in (1,2,3) 執行結果 負責人姓名 鈴木 小野 齋藤 in所指定之括弧內的值為「符合其中任一數值」的意思,與使用or的意思是...

[SQL] 測試用Script

Table /* * 製作表單指令檔(SQL Server 版) * * 已確認可在SQL Server 2005 + Windows XP Service Pack 2中執行 */ -- 製作表單:商品清單 CREATE TABLE 商品清單 ( 商品ID NUMERIC NOT NULL, 商品名稱 VARCHAR(30) NOT NULL, ...

[SQL筆記] 預存程序(stored procedure) 二

模擬銀行業務 [SQL筆記] 預存程序(stored procedure) 一 寫SP輸入參數:@參數名 資料型態 寫SP輸出參數:@sum 資料型態 ouput,輸出參數後面加上ouput 調用輸出參數SP:exec proc_sp名稱 輸入參數的值,@sum output,輸出參數後面加上ouput floor(rand()*10)隨機數:sele...

[SQL筆記] 預存程序(stored procedure) 一

模擬銀行業務 預存程序(stored procedure) 跟函數概念很像,他們的本質區別在:函數特點是在SQL語句中被調用,而SP預存程序是可以由外面來調用,例如在C#、Java中調用。 建立SP:create proc proc_SP名稱 刪除SP:drop porc proc_SP名稱 調用SP:exec proc_SP名稱 SQL的SP返回值必須整數 語法...

[SQL筆記] Trigger 觸發程序(觸發器)

在開發過程中,最好不要有過多的觸發器,要謹慎使用,因為觸發器會有不同觸發的渲染效果,不停的觸發下去。 例如:假設我們做了一個觸發器,刪A自動刪B,但如果有人在B表也寫了一個觸發器,刪B自動刪C,又有一個人也寫了刪C自動刪D,這樣一系列的觸發,就會發生不好的事情,你刪了A表的一個數據,結果BCD表都被觸發了,BCD的數據也都被刪了,這樣就造成了數據的丟失了。業務邏輯可能本身只是希望A刪掉的同...

[SQL筆記] 函數二

模擬銀行業務 函數的用意,通常情況下是可以重複使用的,如果僅僅為了這次(只用一次),工作量並沒有降低,如果很多時候都要用,就可以用函數。 範例1: case end 寫成函數 先查詢出來後,可以將兩個case end寫成兩個函數 --(4)查詢銀行卡信息,將銀行卡狀態1,2,3,4分別轉換為漢字"正常,掛失,凍結,註銷" --根據銀行卡餘額顯示銀行卡等級30萬以下為"普通用戶",30萬...

[SQL筆記] 函數一

模擬銀行業務 函數 函數分為:(1)系統函數 (2)自定義函數 自定義函數又分為: 純量值函數/標量值函數(返回單個值)select 純量值函數 資料表值函數/表值函數(返回查詢結果)select * from 資料表值函數 刪除函數:drop function 函數名 drop function GetRecordByTime 語法:純量值函數(返回單...

[SQL筆記] Cursor 指標

Cursor 指標 定位到結果集中某一行 靜態指標Static:在操作指標的時候,數據發生變化,指標中的數據不變。 動態指標Dynamic:在操作指標的時候,數據發生變化,指標中的數據改變,默認值。 鍵集驅動指標KeySet:在操作指標的時候,被標識的列發生變化,指標中的數據改變,其他列改變,指標中數據不變。(只有部分數據變化) 建立指標是用declare 建立測試資料...

[SQL筆記] View (檢視表/視圖)

View (檢視表/視圖) 視圖:可以理解成虛據表 功能:主要是用數據的展示,如果要做insert/update/delete,千萬不要在視圖裡做。 如果這個查詢會多次使用,我們可以用視圖來解決。 將複雜的SQL語句封裝變成一個View 檢視(視圖),直接用select * from 視圖 語法: create view 視圖名字 as SQL語句 go 模擬銀行業務 --(1)顯示...