當前位置:首頁 » 存儲配置 » 存儲過程isnullor

存儲過程isnullor

發布時間: 2024-02-26 00:30:56

sql數據匯總一張表 用sql語句或存儲過程怎麼寫

各公司的表是不同的名稱,沒有規律是吧?
如果有規律比如table1、table2……方便多了。
在存儲過程中,直接利用循環,查詢各表中的數據,累加到一個臨時數值上,然後將該數值插入到匯總表。具體實現,不同的資料庫有細微差別。
如果是沒有規律的,則需要將各表名作為存儲過程參數,比如用傳入字元串table1|table2|……|tablexxx|
然後在存儲過程中,解析該字元串,之後循環查詢。
存儲過程其實和c語言編程等編程語言實現語義上沒有多大區別,邏輯清楚了,多看幾個示例,就會弄了。
如果不想存儲過程,也可以用觸發器,在每張表上建一個觸發器,將所有記錄更新到匯總表。或者直接用視圖,將各表的結果直接匯總select
isnull(a.期初數,0)
+
isnull(b.期初數,0)
+
……
總期初數
from
table1
a
left
join
table
2
b
on
a.年=b.年
left
join
……
where
a.年='2011'

② (SQL資料庫)我想創建一個存儲過程來更新表中的數據

create
procere
update_table
(
@c_tbname
varchar(128),
--
要更新的表名
@c_upcolname
varchar(1000),
--
要更新的欄位列表,以豆號隔開
@c_updata
varchar(1000),
--
要更新的數據列表,以豆號隔開,要與相應的列一一對應
@c_id
varchar(100)
--
要更新的關鍵字,沒有關鍵字的不能更新
)
as
begin
declare
@c_sql
varchar(max)
declare
@i_bcol
int
declare
@i_ecol
int
declare
@i_bdata
int
declare
@i_edata
int
if
@c_id
is
null
or
@c_id
=
''
return
set
@i_bcol=
1
set
@i_bdata=
1
set
@c_sql
=
'
update
'
+
@c_tbname
+
'
set
'
set
@i_ecol
=
charindex(','
,
@c_upcolname
,
@i_bcol
)
while
@i_ecol
>
0
begin
set
@c_sql
=
@c_sql
+
substring(
@c_upcolname,@i_bcol,@i_ecol
-
1
)
+
'
=
'
set
@i_edata=
charindex(','
,
@c_updata,
@i_bdata)
set
@c_sql
=
@c_sql
+
''''
+
substring(
@c_updata,@i_bdata,@i_edata-
1
)
+
'''
,'
set
@i_bcol
=
@i_ecol
+
1
set
@i_ecol
=
charindex(','
,
@c_upcolname
,
@i_bcol
)
end
set
@c_sql
=
@c_sql
+
substring(
@c_upcolname,@i_bcol,len@c_upcolname)
-
1
)
+
'
=
'
set
@c_sql
=
@c_sql
+
''''
+
substring(
@c_updata,@i_bdata,len(@c_updata)-
1
)
+
'''
'
set
@c_sql
=
@c_sql
+
'
where
id
=
'''
+
@c_id
+
'''
'
exec
(
@c_sql
)
end

③ SQL存儲過程中,if判斷語句中有多個判斷條

if(@rq2 is null or @rq2!=@a11) //多個判斷條件
begin
處理
end
else
begin
處理
end

④ SQL:存儲過程中的like問題!

like '%'+rtrim(@para1)+'%'

熱點內容
sql表的復制 發布:2025-09-18 11:02:25 瀏覽:67
三位密碼鎖忘記密碼如何重置 發布:2025-09-18 10:21:52 瀏覽:184
linux怎麼編譯c文件 發布:2025-09-18 09:55:16 瀏覽:305
python安裝後無法運行 發布:2025-09-18 09:45:57 瀏覽:239
安卓手機怎麼剪輯音樂 發布:2025-09-18 09:44:16 瀏覽:784
伺服器地址修改在哪找 發布:2025-09-18 09:42:41 瀏覽:444
sntp伺服器地址 發布:2025-09-18 09:28:36 瀏覽:555
phpunit 發布:2025-09-18 09:25:19 瀏覽:573
怎麼改伺服器的ip地址嗎 發布:2025-09-18 09:24:33 瀏覽:14
編譯703n固件 發布:2025-09-18 08:50:59 瀏覽:541