存儲過程復雜
完全可行的,銀行系統的不少業務都是利用存儲過程的。
只要程序能處理到,其實用那種方式來實現都不是很重要的了。
不過考慮到可維護性,一般都不建議把復雜邏輯交給存儲過程了。
⑵ 如何解決執行sql存儲過程(大數據量復雜
插入是sql會把數據存到inserted(我不確定對不對啊)表裡面,是在內存中的,當插入到你要插入的表了之後才會刪除幹才插入到inserted表裡的數據,是需要消耗內存的。
消耗的內存都是一樣的,只是一個是預編譯的(存儲過程),一個是即時的。使用存儲過程效率要高一些。
⑶ sql復雜的存儲過程寫法
create
proc
proc1
@b1
int,@b2
int,@id
int
output
as
declare
@k1
int,@k2
int,@k3
varchar(20)
begin
exec
proc2
@k1,@k2,@k3
output
--@k3輸出參數
就是你的tablename
select
@id=id
from
@k3
where
b1=@b1
and
b2=@b2
end
你提供的不詳細
我只能寫個思路給你。。
調用proc1存儲過程先調用proc2傳出一個表名
然後根據傳入的參數輸出這個表名的id欄位。。
⑷ 遇到的許多oracle存儲過程實在是太復雜了,有沒有幫助讀代碼的技巧心得呀
如果是初學的話,建議先跳過標准功能中的存儲過程,知道怎麼應用就是了,從基礎開始 ,ORACLE的標准過程模塊化的劃分非常細致,就非常方便應用和學習 在你對語法環境、常用函數、業務規范熟悉之後,再來慢慢研究標準的存儲過程也不遲。不過估計那個時候你也不會有興趣去關心這個了,除非你要自己開發資料庫
⑸ SQL語句高手進,關於一個比較復雜的存儲過程
題目所述功能要求,可以用一句SQL語句實現,當然如果要傳遞一些參數地濾的話還是需要存儲過程.
語句思路:
1.按dwbh,時間匯總個人表中金額
2.按dwbh,時間匯總單位表中金額
3.將以上兩個匯總結果進行關聯,關聯的條件是相同dwbh、相同時間情況下金額不同的記錄.即可以實現金額不相同的數據篩選出來.
"--"符號為註解,以下語句中的中文欄位為假想欄位,可以替換為實際欄位.關鍵在於理解語句思路.語句如下:
select
GR.dwbh
,
GR.個人表交費時間
as
時間,GR.個人交費總金額,DW.單位交費總金額,(GR.個人交費總金額
-
DW.單位交費總金額)
as
差額
from
(
select
dwbh,個人表交費時間,sum(交費金額)
as
個人交費總金額
--子查詢匯總出個人交費表中的單位、時間、金額,並取別名為GR嵌入From子句中
from
bcd
group
by
dwbh,交費時間
)
as
GR
inner
join
--
將上下兩個子查詢進行內聯
(
select
dwbh,單位表交費時間,sum(交費金額)
as
單位交費總金額
--子查詢匯總出單位交費表中的單位、時間、金額,並取別名為DW嵌入From子句中
from
abc
groub
by
dwbh,交費時間
)
as
DW
on
GR.dwbh
=
DW.dwbh
and
GR.個人表交費時間
=
DW.單位表交費時間
and
GR.個人交費總金額
<>
DW.單位交費總金額
--兩個子查詢內聯的條件是單位編號相同,時間相同,但金額不同的記錄
⑹ SQL存儲過程怎麼寫這樣套復雜的寫法.
create proc proc1
@B1 int,@B2 int,@ID int output
as
declare @K1 int,@K2 int,@K3 varchar(20)
begin
exec proc2 @K1,@K2,@K3 output --@K3輸出參數 就是你的tablename
select @ID=ID from @K3 where B1=@B1 and B2=@B2
end
你提供的不詳細 我只能寫個思路給你。。 調用proc1存儲過程先調用proc2傳出一個表名 然後根據傳入的參數輸出這個表名的ID欄位。。
⑺ 怎麼才能寫出很復雜的存儲過程來就像試圖一樣勾勾連連就可以了、有這樣寫存儲過程的辦法嗎
那樣的存儲過程不推薦~~~
我曾經join 過9個表,大概400多行的存儲過程, DB2得。
發現只要超過4個表,就很慢,最後採取了很多措施優化。
存儲過程取決於你的業務需求,盡量不要太復雜,後期別人也不容易維護,也不容易看懂。
⑻ 請教大師們,很多人把存儲過程寫的很復雜,這樣比在程序里判斷要好嗎
stored procere可以在資料庫里緩存的,如果你在程序里判斷的話,要多好多在資料庫那邊的通信、parsing、編譯什麼的。
另外,應該把盡量少的信息給客戶端的程序,這樣才安全。
還有一個原因,如果有好幾個程序同時都需要用這個過程的話,當你修改或者升級的時候,只有一個stored procere要比好幾個程序省勁的多。
⑼ 寫的存儲過程,老師嫌簡單,怎麼辦,怎麼去想一個復雜的存儲過程,就是 一個存儲過程 可以達到一頁的
其實在存儲過程中,可以寫得詳細點,如存儲過程中有用到表,可以加先判斷表是否存在,如果存在則刪除表再創建表這樣的判斷,這樣的存儲過程就比較嚴謹