sql存儲過程報表
insert into 你的臨時表(欄位1,欄位2,......)
exec rpt_pos_colligate_query ....
語法就這樣,要先創建這個表,欄位要對齊
『貳』 如何在sql2008中建立存儲過程,要求輸入年月,輸出該月庫存檔點報表
create proc report @date as datetime
as
select * from 庫存檔點報表 where 年月=@date
『叄』 SQL 存儲過程和在存儲過程中創建臨時表
建立臨時表只是在表的前面加一個#,其它都輿建立實表相同,建立過程我相信你都知道了,就不用我多說了
Egg:
create table #temp
(id int,
name varchar(50)
)
『肆』 求一個月份報表的sql存儲過程,好的答案,加分的!謝謝!
你那個基礎表的結構圖是什麼樣的啊,沒說明清楚不能做的,有QQ沒,加個好聊天
『伍』 SQL存儲過程有什麼好處
優點:
離數據最近,某些情況下可獲得更好性能
減少應用復雜度及應用伺服器壓力
需要顯式調用,不會像觸發器那樣出現問題難以定位
使用方便
缺點:
增加資料庫伺服器壓力。相當於將應用壓力轉嫁到資料庫上,而應用伺服器更容易擴展,也就是說大部分情況下資料庫伺服器資源比應用伺服器資源更加珍貴。
增加網路開銷。如存儲過程存取數據量較大,會造成較大網路開銷。
可移植性差。如系統有多中資料庫,或從某種資料庫遷移到另一種資料庫,則很有可能遇到兼容性問題。
導致多處存在業務邏輯。存儲過程某種程度就是將本應放在應用側處理的業務邏輯放到資料庫處理,這會導致業務邏輯存在於多個地方,增加調試維護困難。
在高並發系統中很可能會導致資料庫壓力瞬間增大。
存儲過程中的復雜運算會大量消耗資料庫伺服器資源。
總結:
一般情況下盡量少用或不用存儲過程,特別是在一個並發較高架構復雜的大型系統中,更是要減少存儲過程的使用,業務邏輯的工作就應該由應用伺服器處理,而不是交給資料庫。很多時候存儲過程確實可以快速解決問題,但它的維護性、擴展性、移植性等都不好。如果你的系統很小,架構比較簡單,並且開發人員對存儲過程熟悉,那麼可以考慮使用存儲過程減少工作量;但隨著系統增加,架構變復雜,開發人員越來越多,這時存儲過程的存在可能會導致更多的問題。當然,定時ETL或報表統計之類的任務,還是可以考慮使用存儲過程來做的。
『陸』 SQL 存儲過程生成報表
導出報表到excel:
先建存儲過程,查出結果。
再用DTS調用該存儲過程,將結果到出到伺服器的excel表格
再建作業,設定自動調度的頻率。
在界面顯示:
先建存儲過程
程序中調用該存儲過程,返回結果集
按照規定的方式將結果集顯示在界面中
『柒』 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'
