--第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發光。實驗內容 編寫程式,要...