[摘 要] 隨著信息技術的日益發展,在高校的財務工作中,會計電算化已經逐步替代手工會計,它對提高工作效率、規范財務工作起到了至關重要的作用。本文就如何運用SQL數據庫技術來簡化財務人員在獎金發放中的工作程序,從而實現快速、準確地將各個部門分散的獎金發放表匯總為一張總表,最終使得獎金發放工作變得簡單起來進行分析。
[關鍵詞] 獎金發放;匯總;SQL;表
[中圖分類號]F232[文獻標識碼]B[文章編號]1673-0194(2008)07-0020-04
在財務部門的日常工作中,經常會遇到這樣的情況:每逢獎金發放時刻,同樣的發放方案,各個部門所涉及的人員不盡相同,獎金的項目也大不相同。以高校為例,如某位老師既做班主任又有任課還兼行政,那么就可能存在所在班級的系部做班主任費,所任課的系部做課時費,所兼職的行政部門做崗位津貼費,一個人要在3個部門3張表上反映的情況。財務部門如何在最短的時間內準確地將各部門分散的發放表匯總為一張總表,是迫切需要解決的問題。如果采用Excel手工操作的辦法,人少的單位還可以,無非多花費點時間,將若干表輸入到一張表中,從而計算出每個人的應發數額。但是對于一個擁有成百上千甚至是幾千人的大單位來說,這種方法就暴露出了它自身的弱點,不僅費時、費力,而且極易出錯。筆者在高校財務工作實踐中逐漸摸索出利用SQL數據庫將若干張表合并成為一張新表的方法,能夠使財務人員從繁重的數字堆中解脫出來,從而快速計算出每個人的獎金發放金額。
一、 建立Excel表模型
先將各部門上交的校內津貼發放表按照不同的發放項目進行匯總。例如校內津貼的項目為工資、獎金、加班費,那么就整理出3張表a、b、c,結構分別為職工編號、姓名、工資/獎金/加班費。另外,也是最重要的一環,就是創建一張“職工字典表”,列出本單位全體職工的職工編號、姓名,取名d。
二、將表a、b、c、d分別導入SQL數據庫
第一步,在SQL數據庫中創建一個子數據庫,姑且取名gz;
第二步,在gz數據庫中創建4張表,例如取名表A、B、C、D,分別對應表a、b、c、d。
第三步,分別將表a、b、c、d導入到數據庫對應的表A、B、C、D中。
三、在SQL查詢分析器中,輸入SQL語句
“select *,工資+獎金+加班費 as total from(select d.bh,d.xm,
case when a.工資 is 1 then 0 else a.工資 end as 工資,
case when b.獎金 is 1 then 0 else b.獎金 end as 獎金,
case when c.加班費 is 1 then 0 else c.加班費 end as 加班費, from jggz_zd d
left join A a on d.bh=a.bh
left join B b on d.bh=b.bh
left join C c on d.bh=c.bh) jggz”,查詢的結果即為一張結構為職工編號、姓名、工資、獎金、加班費、合計總額的匯總表。
四、實際運用
某高校每月初都要發放一筆校內津貼,它涉及崗位津貼、課時費、輔導員津貼、加班費、值班費、其他等6個項目。
第一步,將各部門上報的校內津貼表進行匯總,整理出6張表,結構分別為職工編號、姓名、崗位津貼/課時費/輔導員津貼/加班費/值班費/其他以及一張包含職工編號和姓名的全體職工字典表(見表1~表7)。


第二步,打開SQL數據庫的企業管理器,創建一個名為gz的數據庫。在SQL Serve企業管理器窗口中,在“控制臺根目錄”窗口對話框內,選擇“操作”下拉菜單中的“新建數據庫”,進入“數據庫屬性”窗口,在“常規”標簽中輸入想要建立的數據庫的名字(例如gz),單擊“確定”按鈕建立數據庫(如圖1所示)。當然,也可以在查詢分析器窗口中用T-SQL命令創建數據庫,輸入SQL語句“CREATE DATABASE gz”。

第三步,在數據庫gz中分別創建出gz_1、gz_2、gz_3、gz_4、gz_5、gz_6以及字典表jggz_zd。以創建表gz_1為例,在右側空白處點右鍵,點擊“新建表”,在 “列名”中輸入“bh”,在“數據類型”中選擇“int(數值型)”,“長度”為默認值,“允許空”中打“√”;在 “列名”中輸入“xm”,在“數據類型”中選擇“char(字符型)”,“長度”為默認值,“允許空”中打“√”;在 “列名”中輸入“gwjt”,在“數據類型”中選擇“decimal(數值型)”,“長度”為默認值,“允許空”中打“√”,如果崗位津貼存在小數,那么就在 “小數位數”中輸入“2” (如圖2所示)。輸入完畢后點擊 “保存”按鈕,輸入表名“gz_1”即完成了建表(如圖3所示)。
第四步,分別將表1至表6以及字典表7導入到數據庫gz的表gz_1至gz_6以及jggz_zd中。以將表1導入gz_1為例,首先選中gz_1,右擊“所有任務”—“導入數據”,進入“導入/導出”界面(如圖4所示)。
點擊“下一步”,進入“選擇數據源”界面,在“數據源”類型中選擇“Excel 5.0”,“文件名”選擇表“1”(如圖5所示)。

然后點擊“下一步”,在 “選擇源表和視圖”的界面中,在“Sheet1$”的“源”前打“√”,在“目的”中選擇“[gz].[dbo].[gz_1]”(如圖6所示),最后點擊“下一步”完成即可。
第五步,打開SQL數據庫的查詢分析器,輸入SQL語句“select *,gwjt+ksf+fdy+jb+zb+qt as total from(select g.bh,g.xm,
case when a.gwjt is 1 then 0 else a.gwjt end as gwjt,
case when b.ksf is 1 then 0 else b.ksf end as ksf,
case when c.fdy is 1 then 0 else c.fdy end as fdy,
case when d.jb is 1 then 0 else d.jb end as jb,
case when e.zb is 1 then 0 else e.zb end as zb,
case when f.qt is 1 then 0 else f.qt end as qt
from jggz_zd g
left join gz_1 a on g.bh=a.bh
left join gz_2 b on g.bh=b.bh
left join gz_3 c on g.bh=c.bh
left join gz_4 d on g.bh=d.bh
left join gz_5 e on g.bh=e.bh
left join gz_6 f on g.bh=f.bh) jggz”,得出如下查詢結果(如圖7所示)。

如果想要將查詢結果保存為Excel形式,就要首先將查詢結果全選,然后點右鍵“另存為”,給文件命名比如AA,最后打開AA,在頂端插入一行,填入對應的字段名即可。這樣,一份完整準確的校內津貼發放匯總表就完成了。
五、結束語
SQL數據庫具有強大的數據處理和數據存取功能,善于利用SQL強大的查詢功能會給工作帶來極大的便利,收到事半功倍的效果,利用SQL數據庫來匯總獎金發放人員的信息,快捷準確,非常實用。
主要參考文獻
[1] 黃維通. SQL Server 2000簡明教程[M]. 北京:清華大學出版社,2002.
[2] 陸昌輝,吳曉華. SQL Server 2000核心技術解密[M]. 北京:宇航出版社,北京希望電子出版社,2002.
[3] 史國友,徐鵬. Visual Foxpro教程與試題解析[M]. 北京:北京希望電子出版社,2002.
[4] 周曉玉,杜菁.Foxpro 簡明教程[M]. 北京:電子工業出版社,1999.
[5] 張海蘭. 網絡信息時代的高校財務管理[J]. 教育財會研究,2006,(2).