SQL SERVER資料庫基本操作

2022-09-02 16:06:13 字數 2847 閱讀 3744

儲存過程

1  create proc 儲存過程名稱

2 as

3 begin

4   set nocount on;

5   --sql語句

6 end

7 go

變數

--1、變數名以@開頭 select,set

declare @num int

set @num=1

print @num

declare @num1 int =1

print @num1

declare @id int

select @id from result where name=''

事務

begin transaction    --開啟乙個事務

declare @error

int=0 --定義變數 賦值

--賣家,賣加的賬戶要加錢

update accountcompany

set useraccount = useraccount+9000

where id=2

set @error=@error+@@error --error全域性變數,獲取錯誤的編號

--買家,賬戶扣錢

update accountcompany

set useraccount = useraccount-9000

where id=1

set @error=@error+@@error

if @error<>0

begin

rollback transaction --事務進行回滾

endelse

begin

commit transaction --提交

endselect * from accountcompany

觸發器優點:

1、觸發器是自動的,當對表中的資料做了任何修改之後立即被啟用

2、觸發器可以通過資料庫中相關表進行層疊修改

3、觸發器可以強制限制,這些限制比用check約束所定義的更複雜,與check約束不同的是,觸發器可以引用其他表中的列

觸發器的作用

觸發器的主要作用就是其能夠實現由主鍵和外來鍵所不能保證的複雜參照完整性和資料的一致性,它能夠對資料庫中的相關表進行級聯修改,提高比check約束更複雜的的資料完整性,並自定義錯誤訊息。觸發器的主要作用主要有以下接個方面:

強制資料庫間的引用完整性

級聯修改資料庫中所有相關的表,自動觸發其它與之相關的操作

跟蹤變化,撤銷或回滾違法操作,防止非法修改資料

返回自定義的錯誤訊息,約束無法返回資訊,而觸發器可以

觸發器可以呼叫更多的儲存過程

觸發器: 在對資料庫資料進行操作(增加(insert)、修改(update)、刪除(delete))後,可以自動執行的操作

觸發器分為兩類:instead of 觸發器 ,after(for)觸發器。

instead of 觸發器:在資料更新到資料庫之前執行的操作

after(for)觸發器:在資料更新到資料後再執行的操作

資料臨時載體:inserted和deleted

inserted:儲存操作中新增的或者更新的資料

deleted:儲存操作中刪除的資料

--insert操作instead of 觸發器    在資料更新到資料庫之前執行的操作

create trigger 觸發器名稱

on 表名

instead of insert --操作(增刪改)

asbegin

--需要執行的業務

end--insert操作after 觸發器 在資料更新到資料後在執行的操作

create trigger 觸發器名稱

on 表明

after insert

asbegin

--需要執行的業務

end--go的意思是分批處理語句

自定義函式

使用者自定義函式的型別:

1、標量值函式(返回乙個標量值)

2、**值函式(內聯**值函式、多語句錶值函式,返回乙個結果集即返回多個值)

特點:內聯**值函式支援在where子句中使用引數

--標量值函式

gocreate function funname

(@strname nvarchar(50))

returns bit

as begin

declare @len bit

if(len(@strname)>1)

begin

set @len=0

endelse

begin

set @len=1

end​ return @len

endgo

​select dbo.funname('張')

--內聯**值函式

gocreate function fun1 (@id int)

returns table --返回乙個表

as return select * from lemon..man where id=@id;

go​select * from fun1(2)

--多語句錶值函式

gocreate function fun2

()returns @tablename table(strname nvarchar)

as begin

insert @tablename select strname from @tablename

return

end

Python操作Access資料庫基本操作步驟分析

我們在這篇文章中公分了五個步驟詳細分析了python操作access資料庫的相關方法,希望可以給又需要的朋友們帶來一些幫助。ad python程式語言的出現,帶給開發人員非常大的好處。我們可以利用這樣一款功能強大的物件導向開源語言來輕鬆的實現許多特定功能需求。比如python操作access資料庫的...

Python基礎 SQLite資料庫基本操作

sqlite資料庫的官網 有很多管理資料庫的工具,官方使用命令列進行管理,感覺太麻煩,使用db browser進行管理資料庫,附上官網 開啟後還是中文的,驚喜 安裝庫 pysqlite3 在進行對資料庫的操作之前,首先要使用函式connect開啟資料庫 通過物件的execute方法進行資料庫的各種操...

SQL Server 資料庫基本記錄(二)

登入名 用於連線到 sql server 伺服器 不一定能對資料庫內容執行操作 資料庫使用者名稱 建立登入名和為使用者賦予操作許可權 create login 登入名 with password 密碼 複製 create user 資料庫使用者 for login 登入名 複製 grant 操作許可...