SQL 本章學習總結

2021-08-28 04:16:40 字數 3863 閱讀 3796

declare @pageindex int --定義變數索引頁數

declare @pagesize int--定義變數當前的頁數

--在編寫sql的語句時,如果有查詢先查詢後分頁

select * from (

select row_number() over(order

by id) as num ,* from student) as temp

where temp.num between ((@pageindex-1)*@pagesize+1) and (@pageindex*@pagesize)

create

view v_student

asselect * from student

1.無參查詢

create proc/procedure

p_search

asbegin

select * from

student

end--呼叫儲存過程的關鍵字(exec)

exec

p_search

2.有參儲存過程

create proc/procedure p_insert

@stutypeid int,

@stuname nvarchar(20),

@stu*** char(4),

@stucount int

output

asbegin

insert

into student values(@stutypeid,@stuname,@stuse)

select @stucount = count(id) from student

end--封裝begin

end之間的語句方便繼續呼叫

--建立乙個儲存過程 輸出乙個新的建立的引數

create

table #名稱

eg: create

table #studentlog

drop

from #臨時表

eg: drop

from #studentlog

事務的定義:(事務就是乙個異常處理機制)

begin tran --定義事務

begin try

insert

into student valuse(...)

end try

begin catch

--異常處理機制 能夠判斷語法是否正確

end catch

if(@@trancount>0)

rollback tran

commit tran

1.插入觸發器

--建立觸發器

create

trigger t_insertstu

on student--基於的是那個表

after

insert --在新增後觸發

asbegin

declare @stuname nvarchar(50)--定義變數

declare @stuage int

select @stuname=stuname,@stuage=stuage from inserted --定義的變數賦值來自於新增中的相應的字段

insert

into studentlog valuse (0,'新增學生姓名'+@stuname+',年齡'+convert(nvarchar(10),@stuage)+'歲'+getdate())--將相應的字段拼接

end執行了新增語句觸發t_insertstu

2.刪除觸發器

–建立乙個刪除觸發器

create

trigger t_delstudent

on student

after

delete

asbegin

declare @id int

declare @stuname nvarchar(20)

declare @stuage int

select @id = id,@stuname=stuname,@stuage=stuage from deleted

insert

into studentlog values(1,'刪除了的學生的id是:'+convert(nvarchar (10),@id)+',姓名是:'+@stuname+',年齡是:'+convert(nvarchar (10),@stuage),getdate())

enddelete

from student where id=

3.修改觸發器

--建立乙個修改的觸發器

create

trigger t_uptstudent

on student

after

update

asbegin

declare @stunameu nvarchar(20)--修改之後的姓名

declare @stuageu int --修改之後的年齡

declare @stunamea nvarchar(20)--修改之前的姓名

declare @stuagea int --修改之前的年齡

select @stunamea = stuname ,@stuagea = stuage from deleted

select @stunameu =stuname ,@stuageu = stuage from inserted

insert

into studentlog valuse(1,,'修改前的姓名是:'+@stunamea+'修改後的姓名是:'+@stunameu,getdate())

end--修改之後觸發

update student set stuname=''

where id=1

在使用select into 新錶 from 舊表 時,新錶可以不必存在 系統會自動生成乙個表

create function f_name(@id int)--括號裡面是引數和引數的型別

return 具體的型別 --返回的型別

asbegin

declare @sqlname nvarchar(30)

selete @sqlname(stuname+stu***) from student where id =@id

return @stuname

end呼叫函式需要加上dbo.

select dbo.f_name(id) dbo.student--結構

select * from dbo.student

create function f_tablename()

return table

asreturn (seledct * from student)

create function f_table(@ name nvarchar(20))

return @tb table(name nvarchar(50),adress nvarchar(50))

asbegin

insert

into @tb select

'張國忠','河北石家莊';

return

endselect * from dbo.f_table

--測試呼叫

select * from dbo.f_table('')

shell學習小總結 本章小結

本章小結 變數在正是一點的程式裡是必備專案.shell 的變數會保留字串值 而大量的運算子可以在 裡使用 讓你控制變數的結果.shell提供了許多的特殊變數 例如 與 用來訪問特殊資訊,例如 命令退出狀態 shell 也有許多預定義的特殊變數,例如 ps1 用來設定主要提示符 位置引數與 和 這類的...

學習總結 SQL學習總結之SQL語法

選取所有列即原表返回 select from table name 例如 select distinct country from websites 例如 從 websites 表中選取國家為 cn 的所有 例如 從 websites 表中選取id為1的所有 文字字段 vs.數值字段 where 子...

SQL 學習總結 SQL的分類

一 sql語言的分類 sql語言大體可分為ddl dcl和dml三類。其中,ddl又包含create,alter和drop dcl包含grant和revoke,而dml中最常見的有select,insert,update,和delete。1 ddl 資料定義語言 create語句 sql creat...