當前位置:首頁 » 編程語言 » 財務上會用到的sql代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

財務上會用到的sql代碼

發布時間: 2023-01-13 04:44:10

① 如何用存儲過程及sql代碼創建登錄,用戶和角色

首先理解什麼是登錄,什麼是用戶,什麼是角色:
登錄:SQL Server2005中,有兩種創建登錄的方式:一種是Windows驗證登錄;另一種是SQL Server身份驗證方式。「登錄方式」就好比辦公樓上使用不同類型的鎖,一旦選擇了使用什麼類型的鎖,就可以開始為每位員工配發鑰匙,而這個鑰匙就是「登錄」。或稱「登錄名」,但員工只有進入大樓的權利,但卻沒有許可權查看和使用裡面的資源(比如檔案櫃)。如果是sysadmin或securityadmin固定伺服器角色的成員,則可以創建兩種類型的登錄之一:標准登錄(比如前面比喻中的金屬鑰匙)和Windows登錄(比如較新型的電子出入卡)。
用戶:既然員工擁有了進入大樓的鑰匙,就應該擁有適當的管理性訪問權,他們需要通過訪問其他資源來完成工作。例如,如果打算允許財務部訪問賬目文件,就需要給他們一把文件櫃的鑰匙。員工現在有兩把鑰匙:一把是打開大門的鑰匙,一把是打開文件櫃的鑰匙。
同樣,一旦用戶已登錄到了SQL Server上,就需要允許用戶訪問資料庫。為此,需要創建資料庫用戶賬戶,然後給這些用戶賬戶授予許可權。一旦這個過程結束,SQL Server用戶就擁有了多把鑰匙:一把打開大門的鑰匙(登錄),以及一把打開他們需要訪問的每個文件櫃(資料庫)的鑰匙。
角色:會計需要簽發公司支票,這個許可權可以用兩種方式之一來授予。第一,可以給每名會計分別提供一本從同一賬戶中支取的支票簿,並授予從該支票簿中開支票的許可權。在這種情況下,需要設法跟蹤當月已經開出的全部支票,否則這種方法可能會造成可怕的後果。完成這項工作的最佳方法是讓整個公司賬戶只使用一本支票簿,並給所有會計授予從這本支票簿中開支票的一個組許可權。
在SQL Server中,當幾個用戶需要訪問資料庫的許可權時,比較容易的方法是將所有的許可權作為一個組授給他們,而不是設法分別管理每個用戶。
言歸正傳,先用存儲過程實現以上操作:
創建新登錄具體語法請參考MSDN文檔
--創建一個簡單的登錄,登錄名為:newlogin;登錄密碼:123456;默認資料庫:master,默認資料庫也可以不指定。
EXEC sp_addlogin 'newlogin','123456','master'
--創建用戶
--創建一個簡單的用戶,如果不指定用戶名,則添加到當前資料庫登錄名中,如果不指定角色,則該用戶默認屬於public角色。下為添加newlogin登錄名。
EXEC sp_adser 'newlogin'
--創建一個帶用戶名的用戶,用戶可以與登錄名相同(同上一種類似),也可以不同,但要設定當前登錄名,用戶角色可選,默認為public。下為將用戶newuser添加到newlogin登錄名中。
EXEC sp_adser 'newlogin','newuser'
--創建角色
EXEC sp_addrole 'newrole'
--下為將用戶下為將用戶newuser添加到newlogin登錄名中。並指定newrole角色。
EXEC sp_adser 'newlogin','newuser','newrole'
--為角色newrole賦予jobs表的所有許可權
GRANT ALL ON jobs TO newrole
--為角色newrole賦予sales表的查、改許可權
GRANT SELECT,UPDATE ON sales TO newrole
--禁止角色newrole使用employees表的插入許可權
DENY INSERT ON employees TO newrole

另一種創建用戶和賦予角色的方式
--為登錄newlogin在資料庫中添加安全賬戶newuser
EXEC sp_grantdbaccess 'newlogin,'newuser'
--添加newuser為角色newrole的成員
EXEC sp_addrolemember 'newrole','newuser'

--資料庫用戶、角色、登錄的刪除操作
--刪除當前資料庫用戶
EXEC sp_revokedbaccess 'newuser';
--刪除資料庫登錄
EXEC sp_droplogin 'newlogin'
--刪除資料庫角色
EXEC sp_droprole 'newrole'
--從資料庫角色(newrole)中刪除用戶(newuser)
EXEC sp_droprolemember 'newrole', 'newuser'
--用SQL代碼新建登錄、用戶
--創建帶密碼的mylogin登錄名,MUST_CHANGE 選項需要用戶首次連接伺服器時更改此密碼。
CREATE LOGIN mylogin WITH PASSWORD = '123456' MUST_CHANGE;
--創建映射到憑據的登錄名。
--以下示例將創建mylogin登錄名。此登錄名將映射到mycredential憑據。
CREATE LOGIN mylogin WITH PASSWORD = '123456',
CREDENTIAL = mycredential;
--從Windows 域帳戶創建登錄名
--如果從Windows 域帳戶映射登錄名,則登錄名必須用方括弧([ ]) 括起來。
CREATE LOGIN [jack/xiangzhao] FROM WINDOWS;
--如果指定用戶名,則不使用默認登錄名作為該資料庫用戶
CREATE USER myuser FOR LOGIN mylogin
--以下示例將創建用戶myuser擁有的資料庫角色myrole
CREATE ROLE myrole AUTHORIZATION myuser;
--以下示例將創建db_role固定資料庫角色擁有的資料庫角色myrole
CREATE ROLE myrole AUTHORIZATION db_role;

② sql server 貨幣 欄位 類型 一般用什麼類型

貨幣的欄位類型一般有int,float,money/smallmoney,decimal/numberic。

根據存儲數據的精度不同選擇:

int只能存儲整數的錢。

money/smallmoney數據類型精確到它們所代表的貨幣單位的萬分之一 。

decimal/numberic 可以自定義小數位和能存儲的數據精度, 所以一般使用這種類型的人會多一些。

float 對貨幣這種需要精確值的數值不合適。

總結:

在財務方面最好實用money與decimal類型。

如果是簡單的計算可以使用float類型,不過float類型在有些平台上取出數據並不是那麼准確,有可能會丟失精度。所以說如果在性能穩定的平台中,開銷不是很大,建議使用以上兩種類型。

(2)財務上會用到的sql代碼擴展閱讀:

SQL數據類型:

1、bit 整型

bit數據類型是整型,其值只能是0、1或空值。這種數據類型用於存儲只有兩種可能值的數據,如Yes 或No、True 或False 、On 或Off.

注意:很省空間的一種數據類型,如果能夠滿足需求應該盡量多用。

2、tinyint 整型

tinyint 數據類型能存儲從0到255 之間的整數。它在你只打算存儲有限數目的數值時很有用。這種數據類型在資料庫中佔用1 個位元組。

3、smallint 整型

smallint 數據類型可以存儲從- 2的15次冪(-32768)到2的15次冪(32767)之間的整數。這種數據類型對存儲一些常限定在特定范圍內的數值型數據非常有用。這種數據類型在資料庫里佔用2 位元組空間。

4、int 整型

int 數據類型可以存儲從- 2的31次冪(-2147483648)到2的31次冪 (2147483 647)之間的整數。存儲到資料庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在資料庫里佔用4個位元組。

5、decimal 精確數值型

decimal 數據類型能用來存儲從-10的38次冪-1到10的38次冪-1的固定精度和范圍的數值型數據。使用這種數據類型時,必須指定范圍和精度。 范圍是小數點左右所能存儲的數字的總位數。精度是小數點右邊存儲的數字的位數。

6、numeric 精確數值型

numeric數據類型與decimal 相似。

7、smallmoney 貨幣型

smallmoney 數據類型用來表示錢和貨幣值。這種數據類型能存儲從-214748.3648 到214748.3647 之間的數據,精確到貨幣單位的萬分之一。

8、money 貨幣型

money數據類型用來表示錢和貨幣值。這種數據類型能存儲從-9220億到9220 億之間的數據,精確到貨幣單位的萬分之一。

9、float 近似數值型

float 數據類型是一種近似數值類型,供浮點數使用。說浮點數是近似的,是因為在其范圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數。

10、real 近似數值型

real 數據類型像浮點數一樣,是近似數值類型。它可以表示數值在-3.40E+38到3.40E+38之間的浮點數。

③ 作為財務,學習SQL可以提升職業競爭力嗎為什麼

作為一名財務工作人員,在公司工作時,可能很多的時候涉及的都是記賬、報賬或其它有關金融方面的事情。說實話,工作也是極具挑戰力。

不過隨著公司信息化程度的增加,很多公司都使用了信息化軟體來提高財務的記賬、轉賬及賬目管理等來提高財務的工作效率。

所以,現在辛苦多學點沒有關系,未來你會感謝現在的自己。

④ 財務中的SQL,ERP,VBA分別是什麼東西,有什麼作用哪個的作用更大

ERP,全稱為企業資源計劃。是企業對物料、生產計劃、庫存財務等方面進行管理的一個軟體。較有名的有國外的SAP,國產的金蝶3K和用友U8等。

SQL一般指的是SQL Server,是微軟公司的一個資料庫軟體,部分ERP則是由SQL Server作為後台資料庫支持(例如金蝶3K就是),此外還有一些是用Oracle(以前SAP是的,現在似乎用自己的資料庫了)。此外,SQL還可以指一些T-SQL語句,主要用於執行資料庫的查詢和創建等等工作。

VBA全稱為Visual Basic Application,是基於VB的一種程序語言,一般用於執行一些自定義過程,例如用Excel的錄制宏即是VBA的一種。此外,Access中也可以用它來與用戶進行一些交互作用(供用戶查詢、錄入數據等等)。

總體來說,這三個是風馬牛不相及。對於財務來說,操作ERP軟體是基礎,SQL和VBA是職業技能,用來改進工作效率的。打個不太恰當的比方,RP軟體就像Excel軟體,SQL和VBA類似於公式。
不用公式是不是就不能計算了呢?當然不是了。例如你可以通過命令進行篩選或者在狀態欄上顯示等等都可以的,甚至還可以用計算器統計好之後再填進去。只不過會公式顯然會更快些完成工作罷了。

⑤ 求科目余額表SQL代碼(PL\SQL代碼)寫法 (oracle資料庫)

第一部分select 明細數據,第二部分select '合計' sum求合計,用union將結果合並。
UNION:SQL運算符
資料庫 Translate-SQL 中 的運算符,將兩個或更多查詢的結果組合為單個結果集,該結果集包含聯合查詢中的所有查詢的全部行。這與使用聯接組合兩個表中的列不同。使用 UNION 組合兩個查詢的結果集的兩個基本規則是:
1 、 所有查詢中的列數和列的順序必須相同。 2 、 數據類型必須兼容。

⑥ SQLSERVER 怎麼用SQL語句編寫財務的分級匯總語句啊

你可以新建一張表,裡面就寫上,自己的Id和上一級p-Id,還可以寫第幾層level_no(我一般不寫)。如果是第1層101,它的pId為0。第2層101111它的pId就為101.第3層繼續寫1011112的pid 101111。有這個區分應該就容易了。再簡單分下組就出來了。

⑦ 急,財務人員求SQL資料庫查詢關於科目余額SQL語句

樓上說的對。。按你這表就這樣子寫
SELECT ACCOUNT, DEBIT,CREDIT,(期初余額,DEBIT-CREDIT) AS YE FORM JDT1