第10章 可程式設計物件 1

2021-06-09 02:56:04 字數 1821 閱讀 2904

--第10章 可程式設計物件

--10.1 變數

--變數用於臨時儲存資料值,以供在宣告它們的同一批處理語句中引用。

declare @i as int;

set @i = 10;

set @i += @i;

select @i as i;

declare @j as int = 10;

use tsqlfundamentals2008;

declare @empname as nvarchar(10);

set @empname = (select firstname + n' ' + lastname

from hr.employees

where empid = 3);

select @empname as empname;

declare @firstname as nvarchar(10), @lastname as nvarchar(10);

select

@firstname = firstname,

@lastname = lastname

from hr.employees

where empid = 3;

select @firstname as firstname, @lastname as lastname;

--10.2 批處理

--事務是工作的原子工作單元,而乙個批處理可以包含多個事務,乙個事務也可以在多個批處理中的某些部分提交.

--如果批處理中存在語法錯誤,整個批處理就不會提交到sql server執行.

--變數是屬於定義它們的批處理的區域性變數,如果試圖引用在其他批處理中定義的變數,sql server引擎將會報告

--引用的變數還沒有定義.

--create default, create function, create proceduce, create rule, create schema, create trigger, create view

--不能在同一批處理中和其他語句同時編譯。

if object_id('sales.myview','v') is not null drop view sales.myview;

go ---must go here!!!

create view sales.myview

asselect year(orderdate) as orderyear

from sales.orders

group by year(orderdate);

go--go可以支援乙個正整數引數,表示go之前的批處理將執行指定的次數.當需要重複執行批處理時,就可以使用這個新選項.

if object_id('dbo.mytable', 'u') is not null drop table dbo.mytable;

gocreate table dbo.mytable

(i int primary key identity,

j int not null

);go

insert into dbo.mytable(j)

values(0);

godeclare @i as int = (select top 1 j from dbo.mytable order by j desc);

set @i += 1;

insert into dbo.mytable(j)

values(@i);

go 100 --execute 100 times here!!!

select * from dbo.mytable;

第10章 可程式設計物件 3

10.3 游標 可以用游標來處理查詢返回的結果集中的各行,以指定的順序一次只處理一行.游標的缺陷 使用游標嚴重違背了關係模型,關係模型要求按照集合來考慮問題.游標逐行對記錄進行操作會帶來一定的開銷.使用游標需要為解決方案的物理操作編寫很多 換句話說,得寫很多 來描述如何處理資料.set nocoun...

第10章 可程式設計物件 5

10.7 例程 10.7.1 使用者定義函式 使用者定義函式 udf,user defined function 的目的是要封裝計算的邏輯處理,有可能需要基於輸入的引數,並返回結果。sql server支援兩種使用者定義函式 標量udf和錶值udf。標量udf只返回單個資料值,而表值udf則返回乙個...

1 可程式設計並行介面實驗

實驗目的與任務 1 理解可程式設計並行介面8255的基本工作原理 2 熟悉8255的初始化程式設計方法 3 掌握8255方式0的工作原理及使用。基本原理 8255a埠a通過20芯偏平線連線j5 j6已與8個led燈連線。8255a埠a工作在方式0,輸出。通過埠a控制led發光。實驗內容 編寫程式,要...