You are on page 1of 148

SQL SERVER

Ver 1.0

Chng 1 :GII THIU TNG QUAN V SQL SERVER

I. Tng quan :
1.SQL SerVer la mt h qun tr
CSDL quan h
A. C S D Liu Quan H :

D liu c t chc lu tr
thanh tng bng
Mt bng dung lu tr
thong tin ca mt i tng
ngoai th gii thc
Mt
bng c to t dong va
ct

I. Tng Quan : (tt)


Ct :Dung lu tr thuc tnh ca i
tng
Mt bng phi co toi thiu mt
ct,Th t ct khng quan trng
Mt cot co ba thuc tnh c bn
Column Name :Tenn ct,trong
mt bng khong th co hai
cot trung ten
Data Type :Kiu d liu
Length :chiu dai ca d liu

I:Tng Quan(tt)
Dong :tp hp d liu ca
nhiu ct
Trong mt bng khong the
co hai dong trung thong
tin
Mot dong cho biet thong
tin cu the cua mot oi
tng lu tr trong bang
Mt bng co th khong co
dong nao

I.Tng Quan(tt)
Khoa Chnh (Primary Key) :
Tp hp ca mt hay nhiu ct trong
bng
D liu ti ct nay khac rng
D liu ti ct nay la duy nht trong
bng

I.Tng Quan (tt)

Khoa ngoi (Foreign Key) :


Tp hp ca mt hay nhiu ct trong
bng,ma cac cot nay la khoa
chnh ca bng khac
D liu ti cac ct nay hoc
rng,hoc phi ly t bng ma ct
lam khoa chnh

I.Tng Quan(tt)
B.H Qun Tr CSDL Quan H :
La mt h thng cac chng
trnh co cac chc nng
To va qun ly mt CSDL Quan
h
khai thac Mt CSDL Quan h
Bo mt Mt CSDL Quan h
To bng sao (Backup) Mt CSDL
Quan h
Phc hI(Restore) Mt CSDL Quan
SQL Server
la mt h qun tr
h
CSDL Quan h

Cac he thong SQL Server

He Thong SQL Server co the trien khai


cho mot he thong kieu Client-Server
hoac trien khai cho mot he thong
may n
He thong c trien khai phu thuoc
vao so ngi truy cap ong thi en
CSDL e thc hien mot cong viec

Cac he thong SQL Server


Trong mo hnh ClientServer ta co the trien
khai theo mo hnh 2
lp hoac 3 lp

Cac he thong SQL Server

II.Cai t SQL Server

A.Yeu cu phn cng :


Phn cng
CPU

Yu cu

RAM

T 64MB tr ln

a cng

Cn trng 100MB tr
ln

Mn hnh

VGA c phn gii


800X600 tr ln

T Pentium 166 MHz


tr ln

II.Cai t SQL Server

A.Yeu cu phn Mm:


Phin bn SQL
Server
Enterprise Edition
Standard Edition

H iu Hnh

Personal Edition

Co th chy
tren tt c cac
h iu hanh

Microsoft Windows
Server(nt,2000,Xp
Server)

II. Cai t Personal Edition SQL Server


1. a a CD chng trnh vao ,man hnh
sau xuat hien

Cho
n

II.Cai at Personal Edition SQL


Server(tt)
2.Man hnh sau xuat hien

Cho
n

II.Cai at Personal Edition SQL


Server(tt)
3.Man hnh sau xuat hien

Chon

II.Cai at Personal Edition SQL


Server(tt)
4.Man hnh sau xuat hien

Chon

II.Cai at Personal Edition SQL


Server(tt)
5.Man hnh sau xuat hien

Chon

II.Cai at Personal Edition SQL


Server(tt)
6.Man hnh sau xuat hien

Nhap
vao
ten
ngi
dung

II.Cai at Personal Edition SQL


Server(tt)
7.Man hnh canh bao xuat
hien,chon yes

II.Cai at Personal Edition SQL


Server(tt)
8.Man hnh ang nhap xuat
hien ,nhap vao CD Key

II.Cai at Personal Edition SQL


Server(tt)
9.Chon kieu cai at

Chon

II.Cai at Personal Edition SQL


Server(tt)
10.Chon Dang cai at

II.Cai at Personal Edition SQL


Server(tt)
11.Chon kieu ang nhap vao SQL
Server

II.Cai at Personal Edition SQL


Server(tt)
12.Chon kieu ang nhap vao SQL
Server

II.Cai at Personal Edition SQL


Server(tt)
Nhap Next e chng trnh cai
at vao may
Sau khi cai at xong,khi ong
lai may, sau khi khi ong
xong,thay xuat hien bieu tng
Tren thanh Status cua Windows

III.Cac tien ch cua SQL Server


1.Tien ch EnterPriseManager:Man
hnh quan ly cac oi tng co
trong SQL Server

III.Cac tien ch cua SQL Server


A> Microsoft SQL Server:Cha cac
nhom Server
Tao mi mot nhom Server ta lam
nh sau :
Click chuot phai vao Microsoft
SQL Server,chon New SQL Server
Group

III.Cac tien ch cua SQL Server


Man hnh sau xuat hien
Chon Top
Level Group :
Tao mot
nhom goc
Chon Subgroup of: tao
mot nhom
la con cua
mot nhom
khac

III.Cac tien ch cua SQL Server


B>ang ky mot Server vao he
thong :Click chuot phai vao SQL
Server Group,chon New SQL Server
Registration

III.Cac tien ch cua SQL Server


Man hnh sau xuat hien : Nhan Next

III.Cac tien ch cua SQL Server


Man hnh sau xuat hien : chon
Server can ang ky,nhan Add,sau
o nhan next

III.Cac tien ch cua SQL Server


Man hnh sau xuat hien :Man hnh
sau xuat hien chon dang ket
noi ,chon la chon 1:

III.Cac tien ch cua SQL Server


Man hnh sau xuat hien :Nhap Login
name,PassWord e ang nhap
vao
SQL
Server
Chu y :
Neu qua
trnh cai at
bc 11
va 12 chon
nh tren th :
Login name
:Sa
Password :

III.Cac tien ch cua SQL Server


C>DataBases:Cha cac CSDL Trong
SQL Server, co 7 CSDL co san ,chia
lam 2 loai
CSDL He thong :khong c
xoa,sa

Ten
CSDL

Y ngha

Master

La CSDL quan ly
thong tin cua cac
CSDL con lai

Mode

La CSDL mau

Msdb

L CSDL phc v cho


dch v SQL Server
Agent

III.Cac tien ch cua SQL Server


Tempdb

La CSDL cha cac


bang tam c
phat sinh trong
qua trnh x ly
CSDL mau

Ten
CSDL
Jobs
Northwin
d
pubs

Y ngha

III.Cac tien ch cua SQL Server


C>Client Network Utility : dung
e ang ky mot Server cho
he thong

III.Cac tien ch cua SQL Server


Cach ang ky : chon Tab Alias
nhan nut Add,man hnh sau
xuat
hien
Chon TCP/IP
Server Alias
:nhap vao
nhan
Server name :
nhap vao
a ch IP
Chu
y:
Tien ch nay ch s
cua
Server
dung trong he thong mang

III.Cac tien ch cua SQL Server


Tin ch Query Enalyzer :la man hnh
vit lnh ca SQL Server

III.Cac tien ch cua SQL Server


Tin ch Book Online :Tai lieu hng
dan cach s dung SQL Server

III.Cac tien ch cua SQL Server


Tin ch Service Manager :quan ly
cac dch vu lien quan en SQL
Server
Muon s dung SQL Server phai
khi
dch vu nay
Cac
dch ong
vu nay
khi ong bang
cach : Start ->
Programs->Mcrosoft
SQL Server->Dch
vu

III.Cac tien ch cua SQL Server

Tin ch Import and Export Data


Tin ch ny cho php chuyn
d liu (Export) t CSDL SQL
Server ra cc loI CSDL khc
nh Access,Excel..v ngc lI
Cch khI ng :Start>Programes->Microsoft SQL
Server,mn hnh sau xut
hin, click Next

III.Cac tien ch cua SQL Server

Tin ch Import and Export Data


Mn hnh sau xut hin
Data Sourse :Chn loi d
liu ngun
Nu d liu ngun chn l
SQL Server:chn Microsoft
OLE DB for SQL Server
Server :Chn tn Server
Chn kiu ng nhp
Database : Chn CSDL

III.Cac tien ch cua SQL Server

Tin ch Import and Export Data


Nu d liu ngun l
Microsoft Access :chn
Microsoft Access
File Name :ng dn +
Tn CSDL
Username,PassWord :nhp
vo nu CSDL c yu cu
ng nhp
nhn Next

III.Cac tien ch cua SQL Server

Tin ch Import and Export Data


Destination: chn loI d
liu ch
Nu chn SQL Server :chn
Server,nhp Username,
Password v chn CSDL
ch
Nu chn Access :phi chn
CSDL ch
Ch :ch Import hoc
Export c d liu ,khng
c cc rng buc

Chng II: Xay dng mot CSDL trong


SQL Server

Mt (CSDL) ca SQL Server l tp


hp cc i tng
bng (Table):Cha d liu
bng o (View):cha d liu ly t
Bng
th tc ni ti (Stored Procedure):
Cha cc lnh thao tc vi D liu

Chng II: Xay dng mot CSDL trong


SQL Server

Triger :Cha cc lnh thao tc vi


D liu,kim tra rng buc t ng
Constraint :Cha cc rng buc d
liu
Mt CSDL do mt hoc nhiu ngi
to nhng c th c nhiu ngi
truy cp
Trong SQL Server c th to c

Chng II: Xay dng mot CSDL trong


SQL Server

Cu trc lu tr ca mt CSDL :
Mt CSDL trong SQL Server ti thiu
s dng hai tp tin vt l lu tr
d liu:

Mt dng lu tr d liu (Data


file)

Mt dng lu tr cc vt
giao tc (Transaction log file)

Chng II: Xay dng mot CSDL trong


SQL Server

Thng c t chc lu tr trong 3


tp tin :
CSDL

Data Files
Primary
DataFile
(*.MDF)

Secondary
Data Fie
(*.NDF)

Log Files
Log file
(*.LDF)

Chng II: Xay dng mot CSDL trong


SQL Server

To mi mt CSDL trong
SQL Server
Cch 1: S dng tin
ch
EnterPriseManager :
Click chuc phi vo
i tng Databases
chn New Database

Chng II: Xay dng mot CSDL trong SQL


Server
Xut hin hp thoi :

Nhp tn
CSDL

Chng II: Xay dng mot CSDL trong SQL


Server
Chn Tab Data Files:

Filename :Tn tp tin Data Files


Location: V tr lu tr
Initial size(Mb) :Kch thc ban u
Automatically grow file: T ng
tng kch thc
In megabytes : tng bao nhiu mB
By percent :Tng theo phn trm

Maximun file size : kch thc ti a


ca CSDL
Unrestricted file growth :Khng
gii hn kch thc
Restrict file growth(MB) :gii hn

Tng t cho Transaction Log

Chng II: Xay dng mot CSDL trong


SQL Server
To CSDL bng cch vit lnh trong Query Enalyzer
CREATE DATABASE QLBANHANG
ON PRIMARY
( NAME= QLBANHANG_DATA,
FILENAME=C:\MSSQL\DATA\ QLBANHANG_DATA.MDF,
SIZE=50MB,
MAXSIZE=200MB,
FILEGROWTH=10%)
LOG ON
(
NAME= QLBANHANG_LOG,
FILENAME=C:\MSSQL\DATA\ QLBANHANG_LOG.LDF,
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=5MB
)

Chng II: Xay dng mot CSDL trong


SQL Server
Cc kiu d liu trong SQL Server
Kiu d liu

Kch
thc

Min gi tr d liu lu tr

> Cc kiu d liu dng s nguyn


Int

4 bytes

t-2,147,483,648n +2,147,483,647

SmallInt

2 bytes

t -32768 n +32767

TinyInt

1 byte

t 0 n 255

Bit

1 byte

0, 1 hoc Null

> Cc kiu d liu dng s thp phn


Decimal,
Numeric

17bytes

t -10^38 n +10^38

> Cc kiu d liu dng s thc


Float

8 bytes

t -1.79E+308 n +1.79E+308

Real

4 bytes

t -3.40E+38 n +3.40E+38

Chng II: Xay dng mot CSDL trong


SQL Server
Cc kiu d liu trong SQL Server
> Cc kiu d liu dng chui c di c nh
Char

N bytes

t 1 n 8000 k t, mi k t l
mt byte

> Cc kiu d liu dng chui c di bin i


VarChar

N bytes

t 1 n 8000 k t, mi k t l 1
byte

Text

N bytes

t 1 n 2,147,483,647 k t, mi
k t l 1 byte

> Cc kiu d liu dng chui dng font ch Unicode


NChar

2*N
bytes

t 1 n 4000 k t, mi k t l 2
bytes

NVarCha
r

2*N
bytes

t 1 n 4000 k t, mi k t l 2
bytes

NText

2*N
bytes

t 1 n 1,073,741,823 k t, mi k
t l 2 bytes

Chng II: Xay dng mot CSDL trong


SQL Server
Cc kiu d liu trong SQL Server
> Cc kiu d liu dng tin t
Money

8 bytes

t
-922,337,203,685,477.5808
+922,337,203,685,477.5807

SmallMoney

4 bytes

t -214,748.3648 n + 214,748.3647

> Cc kiu d liu dng ngy v gi


DateTime

8 bytes

t01/01/1753n31/12/9999

SmallDateTime

4 bytes

t01/01/1900n06/06/2079

> Cc kiu d liu dng chui nh phn (Binary String)


Binary

N bytes

t 1 n 8000 bytes

VarBinary

N bytes

t 1 n 8000 bytes

Image

N bytes

t 1
bytes

2,147,483,647

Chng II: Xay dng mot CSDL trong


SQL Server
Cc thuc tnh c bn ca Mt Bng
Tn bng (Table Name) di<= 128 k t.
Tn bng phi duy nht bn trong phm vi ca
ngi to ra n trong mt CSDL
Tn ct (Column Name): l tn ca cc ct bn
trong bng, tn ca cc ct bn trong bng phi
duy nht.
Kiu d liu (Data Type):qui nh kiu d liu
m ct s lu tr bn trong bng.

Chng II: Xay dng mot CSDL trong


SQL Server
di d liu (Data Length): dng qui nh di d
liu m ct s lu tr i vi cc kiu d liu dng chui,
s.
S k s lu tr (Precision): l s k s ti a m cc kiu
d liu dng s c th lu tr c.
S l lu tr (Scale): l s l ti a m cc kiu d liu
dng s thp phn dng lu tr.

Chng II: Xay dng mot CSDL trong


SQL Server
Ct nh danh (Identity): Gi tr ca ct nh
danh l s nguyn khng trng lp do h
thng Microsoft SQL Server t ng cp
pht.
Cc kiu d liu ca ct nh danh : Int,
SmallInt, TinyInt, Decimal , Numeric
Thuc tnh Identity Seed :S u tin
Thuc tnh Identity Increment :gi tr
tng

Chng II: Xay dng mot CSDL trong


SQL Server
Cho php trng d liu (Allow Null): qui
nh d liu c th c php trng hay l
phi nhp
Gi tr mc nh (Default Value): l gi tr
mc nhin s c gn vo ct d liu khi
ngi s dng thm mi mt mu tin nhng
li trng gi tr ti ct d liu .

Chng II: Xay dng mot CSDL trong


SQL Server
To Bng trong Sql Server
Cch 1: S dng tin ch Enterprise
Manager

M CSDL Click chut phi


trn i tng Tables, chn
chc nng New Table... trong
thc n tt.

Chng II: Xay dng mot CSDL trong


SQL Server
Mn hnh sau xut hin :
Nhp tn bng,nhp OK

Mn hnh thit k bng xut hin


:nhp thng tin v chn ct lm kho
chnh

Chng II: Xay dng mot CSDL trong


SQL Server
To bng bng lnh trong mn hnh Query Elyzer
To cu trc bng n gin
C php:
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu [NOT NULL] ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ , ...]
)
Trong :
+ Tn bng, tn ct v kiu d liu c m t trn
+ T kha NOT NULL ch nh khng cho php d liu ti ct
c php b trng.

Chng II: Xay dng mot CSDL trong


SQL Server
To bng bng lnh trong mn hnh Query Elyzer

To cu trc bng c gi tr mc nh
C php:
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
)
Trong :
+ Gi tr: l gi tr c th s c gn vo ct.
+ Hm: l tn hm cng vi cc tham s (nu c), tuy nhin
kiu d liu m hm tr v phi l cng vi kiu d liu m ct
s lu tr.

Chng II: Xay dng mot CSDL trong


SQL Server
To bng bng lnh trong mn hnh Query Elyzer

V d 1
CREATE TABLE VATTU
(
MAVTU CHAR(4) NOT NULL,
TENVTU VARCHAR(100) NOT NULL,
DVTINH VARCHAR(10) NOT NULL,
PHANTRAM REAL DEFAULT 20
)

V d 2
CREATE TABLE DONDH
(
SODH CHAR(4) NOT NULL,
NGAYDH DATETIME DEFAULT GETDATE(),
MANHACC CHAR(3) NOT NULL
)

Chng II: Xay dng mot CSDL trong


SQL Server
To cu trc bng c ct nh danh
C php:
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu_s IDENTITY [(S_bt_u, Ch_s_tng)] ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
)

Trong mt bng ch c ti a mt ct c ch nh lm ct nh danh


S bt u: l s m SQL Server s dng cp pht cho mu tin u tin.
Mc nh l 1.
Ch s tng: l ch s m SQL Server cng ln cp pht cho tng mu tin
kt tip. Mc nh l 1.

Chng II: Xay dng mot CSDL trong


SQL Server

Tnh ton vn d liu trong c s d liu : cc rng buc trong SQL Server c qun l bI hai I tng :CONSTRAINT v TRIGGER
Constraint : qun l cc rng buc nh :
Rng buc d liu duy nht
Rng buc d liu tn ti
Rng buc min gi tr

Trigger :Qun l cc rng buc phc tp,lin quan n d liu trn nhiu bng

Chng II: Xay dng mot CSDL trong


SQL Server

Xy dng cc Constraint

A>Kim tra

duy nht d liu :c hai loi


Primary Key (kho chnh ) :d liu khc rng v duy nht
Unique : d liu c th rng v d liu tn ti duy nht

Chng II: Xay dng mot CSDL trong


SQL Server
nh ngha rng buc kho chnh :
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT PK_Tn_bng_TenCot ] PRIMARY
KEY (Danh_sch_ct_kha_chnh)
)

Chng II: Xay dng mot CSDL trong


SQL Server
nh ngha rng buc d liu duy nht :
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT UQ_Tn_bng_Tn_ct]
UNIQUE (Danh_sch_cc_ct)
)
Trong mt bng ch nh ngha mt rng buc
kho chnh nhng c th nh ngha nhiu
rng buc d liu duy nht

Chng II: Xay dng mot CSDL trong


SQL Server
V d :
CREATE TABLE VATTU
(
MAVTU varchar(4) not null,
TenVtu varchar(100),
Constraint PK_Vattu_Mavtu_tenvtu primary key(Mavtu,tenvtu),
constraint UQ_Vattu_tenvtu unique(tenvtu)
)

Chng II: Xay dng mot CSDL trong


SQL Server
B>Kim tra tn ti D liu :nh ngha kho ngoi
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT FK_Tn_bng_Tn_ct]
FOREIGN KEY (Danh_sch_ct_kha_ngoi)
REFERENCES
Tn_bng_tham_chiu
(Danh_sch_ct_tham_chiu)
)
Trong mt bng c th nh ngha nhiu kho ngoi

Chng II: Xay dng mot CSDL trong


SQL Server
B>V d :
CREATE TABLE CTHOADON
(
SOHD Varchar(3) not null ,
MAVTU Varchar(3) not null,
Soluong int,
Dongia float,
CONSTRAINT FK_CTHOADON_SOHD
FOREIGN KEY (SOHD)
REFERENCES HOADON(SOHD),
CONSTRAINT FK_CTHOADON_MAVTU
FOREIGN KEY (MAVTU)
REFERENCES VATTU(MAVTU)
)

Chng II: Xay dng mot CSDL trong


SQL Server
C>Kim tra rng buc min gi tr :
C php :

CREATE TABLE Tn_bng


(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT CK_Tn_bng_Tn_ct]
CHECK (Biu_thc_lun_l)
)

Chng II: Xay dng mot CSDL trong


SQL Server
B>V d :
CREATE TABLE CTHOADON
(
SOHD Varchar(3) not null ,
MAVTU Varchar(3) not null,
Soluong int,
Dongia float,
CONSTRAINT CK_CTHOADON_SOLUONG
CHECK (Soluong>0),
CONSTRAINT CK_CTHOADON_DonGia
CHECK (Dongia>0)

Chng II: Xay dng mot CSDL trong


SQL Server
B>Thm Costraint vo bng c
C php chung:
ALTER TABLE Tn_bng
ADD [ CONSTRAINT Tn_Constraint ]
LOI Cc_tham_s [ , ...]

Chng II: Xay dng mot CSDL trong


SQL Server
C php chi tit tng loi constraint
PRIMARY KEY
ALTER TABLE Tn_bng
ADD [ CONSTRAINT PK_Tn_bng ]
PRIMARY KEY (Danh_sch_ct_kha_chnh)

Chng II: Xay dng mot CSDL trong


SQL Server
UNIQUE
ALTER TABLE Tn_bng ADD [ CONSTRAINT
UQ_Tn_bng_Tn_ct ]
UNIQUE (Danh_sch_cc_ct)

Chng II: Xay dng mot CSDL trong


SQL Server
FOREIGN KEY
ALTER TABLE Tn_bng
ADD [ CONSTRAINT FK_Tn_bng_Tn_ct ]
FOREIGN KEY (Danh_sch_ct_kha_ngoi)
REFERENCES Tn_Bng (Danh_sch_ct_tham_chiu)

Chng II: Xay dng mot CSDL trong


SQL Server
Kim tra min gi tr :
ALTER TABLE Tn_bng
ADD [ CONSTRAINT CK_Tn_bng_Tn_ct ]
CHECK (Biu_thc_lun_l)

Chng II: Xay dng mot CSDL trong


SQL Server
Thm gi tr mc nh :
ALTER TABLE Tn_bng
ADD [ CONSTRAINT DF_Tn_bng_Tn_ct ]
DEFAULT Gi_tr_mc_nh FOR Tn_ct

Chng II: Xay dng mot CSDL trong


SQL Server
Hy mt Constraint :
ALTER TABLE Tn_bng
DROP CONSTRAINT Tn_constraint [ , ...]
Tt cc Constraint :
ALTER TABLE Tn_bng
NOCHECK CONSTRAINT ALL| Tn_constraint [ , ...]
Bt cc Constraint :
ALTER TABLE Tn_bng
CHECK CONSTRAINT ALL| Tn_constraint [ , ...]

Chng II: Xay dng mot CSDL trong


SQL Server
Xa cu trc bng
DROP TABLE Danh_sch_tn_cc_bng
Thay i cu trc bng
a. Thm mt ct mi trong bng
ALTER TABLE Tn_bng
ADD Tn_ct Kiu_d_liu [ , ... ]
b. Hy b ct hin c bn trong bng
ALTER TABLE Tn_bng
DROP COLUMN Tn_ct [ , ...]

Chng II: Xay dng mot CSDL trong


SQL Server
Sa i kiu d liu ca ct
ALTER TABLE Tn_bng
ALTER COLUMN Tn_ct Kiu_d_liu_mi
i tn ct
EXEC SP_Rename
Tn_bng.Tn_ct,Tn_mi,COLUMN
i tn bng
EXEC sp_rename Tn_bng,Tn_mi
Ch :Mun thay i cu trc ca ct phi xo tt c cc Constraint lin
quan

BI 3: BNG o(view)
1>nh Ngha :
Bng o l mt i tng cha cu lnh Select ly d liu
T cc bng trong csdl
Khi truy cp vo CSLD ,ngi s dng khng phn bit c Bng o
v Bng Tht
2> To View
Create view Ten_view
As
Cu lnh Select

Cu trc cu lnh Select


2>Cu trc cu lnh Select
Select [Ten_Bang.]Ten_Cot[,]
From Ten_Bang1 <Lin kt > Ten_Bang2
Where <iu kin>
Group by <cc ct gom nhm>
HaVing <iu kin lc nhm>
Order by [Ten_Bang.]Ten_cot [asc/desc,]
Compute Hm thng k [By Ten_cot]

Cu trc cu lnh Select


Mnh Select :cha cc ct,cc hm mun hin th
Nu ct tn ti trong hai bng trong mnh From ta phi ghi r
:Tn_Bng.Tn_Ct
Trong mnh Select ta c th dng cu trc lnh

Case
When iu kin 1 Then Gi tr 1
When iu kin 2 then Gi tr 2

Else
Gi tri n
End
hin th d liu
Mnh from : cho bit d liu trn cu truy vn c ly t cc bng no
nu d liu ly t nhiu bng th cc bng ny phi c quan h vi nhau:
C php :

Cu trc cu lnh Select


Inner
Bng 1

Left

Join Bng 2 on Bng 1.tn ct= bng 2.tn ct

Right
full

Mnh Where : mnh lc d liu tr v hoc gom nhm


Trong mnh Where c th s dng cc ton t :

Like tm chui gn ng
% Thay th 1 chui
_(Gch di) thay th 1 k t
Ton t BETWEEN Gt1 AND GT2

Cu trc cu lnh Select


Mnh Group by : mnh gom nhm d liu
Mnh ny phi c khi trong cu truy vn c s dng hm thng k
v trn mnh Select c ly cc gi tr khng s dng hm thng k
C php : Group By Danh sch ct,Biu thc
Vi Danh sch ct,Biu thc :c ly trn mnh Select khng s
dng hm thng k

Cc Hm thng k:
Sum(Ten_Cot) :tnh tng vi ct c kiu s
Count(Ten_Cot/*) :tnh tng s dng
AVG(Ten_Cot) :tnh gi tr trung bnh
Max(Ten_cot) : gi tr ln nht
Min(Ten_Cot) :gi tr nh nht)

Cu trc cu lnh Select


Mnh HaVing : mnh Lc nhm d liu
Mnh ny ch tn ti khi trong cu truy vn c mnh Group By v iu
kin lc d liu c hm thng k
Ch : trong cu truy vn c hai mnh lc d liu l Where v havinh
Where :lc d liu to nhm ( c iu kin khng s dng hm thng k)
Having :lc nhm( cc iu kin c thng k)

Mnh OrDer By : Mnh sp xp d liu


C php Order by [Ten_bang.]Ten_Cot [asc/Desc] [,]

Mnh Compute /Compute .. By : l mnh to gi tr thng k


cui kt qu hoc thng k theo ct
C php
Compute Hm thng k : to thng k cui kt qu
Compute Hm thng k By [Ten_Bang.]Ten_cot :thng k theo ct,d liu phi
c sp xp theo ct ny
Ch : Trong View khng c mnh ny

Cu trc cu lnh Select


Cc ton t dng trn mnh Select
C php : Select Ton t
Vi cc ton t :

Distict : loi b cc dng d liu trng


Top n : ly n dng u tin
Top n with ties : ly nhng dng thuc n cp u
tin
Top n PERCENT : ly N % dng u tin

Cu trc cu lnh InSert into


Insert into : dng thm d liu vo bng,c 2 dng
Thm mt dng
C php : Inser into Ten_bang(Ten_cot1,Ten_cot2[,]) Values(Gia_Tri1,)

vi gi tr :
kiu chui : nm trong hai du v d Trn thanh nht
Kiu Ngy : yyyy-mm-dd
v d :1982-02-29
Thm nhiu dng
C php : Inser into Ten_bang_Dich(Ten_cot1,Ten_cot2[,])
Select Ten_bang_nguon.ten_cot ,
from

Cu trc cu lnh UpDate


UpDate : dng cp nht d liu ca mt bng
D liu Update ch trn mt Bng :

C php :
UpDate Ten_Bang
Set Ten_Cot= Gi tr/Biu thc
[Where iu kin]
D liu Update trn nhiu Bng :

C php :
UpDate Ten_Bang
Set Ten_Cot= Gi tr/Biu thc
From
[Where iu kin]
Ch : d liu cp nht c th l mt gi tr thng k tr v t cu truy
vn con
C th dng cu trc Case trong lnh cp nht
Trong cu truy vn update khng s dng hm thng k

Cu trc cu lnh Delete


Delete : dng xa d liu ca mt bng
D liu xa ch trn mt Bng :

C php :
delete Ten_Bang
[Where iu kin]
D liu delete trn nhiu Bng :

C php :
delete Ten_Bang
From
[Where iu kin]
Ch : khi xa d liu trn bng quan h 1 m d liu ny
c bn bng quan h nhiu -> c li

Cu trc cu lnh Select .. into


Select .. into : dng to mt bng c cu trc v d liu ly t cc
bng c trong CSDL
C php :

Select [Ten_Bang.]tenCot [,]


From ..

Cu truy vn Con (Sub Query)


Sub Query :l cu truy vn m kt qu tr v l iu kin so
snh,gn gi tr cho cu truy vn khc
t im :
Ch tr v 1 ct d liu
Nu tr v 1 dng : iu kin so snh gia cu truy vn chnh v cu truy vn
con l cc ton t :=,>,<,<>,>=,<=
Nu tr v nhiu dng : iu kin so sch : in (nm trong) hoc Not in(khng
nm trong)

Bi 4: Lp trnh vi SQL SerVer


I>Bin v cc cu trc lnh trong SQL Server
A>Bin :
1> Bin cc b : l bin do ngi lp trnh khai bo,Bin c th c khai bo trong
th tc ni ti,hm, trong mt l lnh
L Lnh : l tp hp cc lnh c kt thc bng t Go
C php khai bo bin : Declare @Tn_Bin Kiu_D_Liu
Tn Bin :Lun bt u bng k t @,khng c khong trng,k t t bit,k t s ng
u

Gn gi tr cho bin:
Gn bng 1 gi tr :
Set @tn_bin=gitr/hm
hoc Select @tn_bin=Gitr/hm
Gn bng kt qu tr v ca cu truy vn
Select @tn_Bin=Tnct/Hm ..from ..

Bi 4: Lp trnh vi SQL SerVer


1> Bin h thng (t155) : l bin do SQL Server cung cp,Cho bit

trng thi ca h thng,Bin h thng lun bt u bng hai k t


@@,Ch c
Mt s cc bin thng dng

Tn Bin

ngha

@@Error

Cho bit cc lnh trc c li


hay khng,nu c li @@Error <>0

@@Rowcount

Cho bit s dng b tc ng bi


cu truy vn gn nht

@@Fetch_Status Tr v <>0 nu lnh duyt CurSor


gy li

Bi 4: Lp trnh vi SQL SerVer


B>Cc cu trc lnh
1>lnh iu khin IF .. Else
C php :
If iu kin
Begin
<tp Lnh 1>
end
else
Begin
<tp Lnh 2>
End
- Nu iu kin ng : tp Lnh 1 thc hin, ngc li tp lnh 2 thc
hin
- Nu tp hp lnh 1 ,lnh 2 ch c 1 lnh th khng cn Begin .. End

Bi 4: Lp trnh vi SQL SerVer


B>Cc cu trc lnh
2>Cu trc lp :While

While Biu thc iu kin


Begin
<Tp lnh>
end
Tp lnh s c thc hin n khi biu thc iu kin
tr v False
-c th dng lnh Break thot khi vng lp

Bi 4: Lp trnh vi SQL SerVer


2>Cc hm c bn trong SQL SerVer
A>Cc hm chuyn i kiu d liu :thng dng
chuyn d liu t s,ngy sang chui
Hm Cast : chuyn mt kiu d liu sang kiu bt k
C php :Cast(Biu_Thc as Kiu_D Liu)
V d : Cast (@tong as varchar(10))

Hm CONVERT : chuyn t ngy sang chui


C php :Convert(Kiu_d_Liu,Biu_Thc[,nh_Dng])
V d : Convert(char(10),Getdate(),105)

Bi 4: Lp trnh vi SQL SerVer


Mt s nh dng thng dng
nh dng nm(YY)
nh dng nm(YYYY)

Hin th d liu

101

Mm/dd/yyyy

103

Dd/mm/yyyy

105

Dd-mm-yyyy

12

112

Yyyymmdd

Hm Str :chuyn s thnh chui


C php :STR(s thc,S k t[,s l])
V d Str(12.345,5,2)->12.35
Ch : khi ni chui vi s,ngy ta phi chuyn cc gi tr
ny sang chui,sau s dng du + ni

Bi 4: Lp trnh vi SQL SerVer


B>Cc hm ngy gi
Bng m t cc nh dng trong cc hm thi gian
Gi tr

nh dng

Nm

yy, yyyy

Qu

qq, q

Thng

mm, m

Ngy trong nm

dy, y

Ngy trong tun

dw

Ngy trong thng

dd, d

Tun

wk, ww

Gi

hh

pht

mi, n

giy

ss, s

Bi 4: Lp trnh vi SQL SerVer


Hm DateAdd : dng cng mt s vo gi tr ngy v tr v
mt gi tr ngy
C php : DateAdd(nh dng,S,Ngy)->Ngy mi
V d
declare @ngaymoi datetime
set @ngaymoi=dateadd(mm,5,getdate())
print convert(char(10),@ngaymoi,105)
=>11-01-2007
Hm DateDiff: tr v khong cch ca hai ngy
C php :Datediff(nh dng,ngy_1,ngy_2)->s nguyn
V d :print Datediff(mm,getdate(),@ngaymoi) ->5

Bi 4: Lp trnh vi SQL SerVer


Hm DateName: tr v chui thi gian
C php : Datename(nh dng, Ngy)->chui
V d
print datename(dw,getdate())->Friday
Hm DatePart: tr v mt gi tr trong ca ngy
C php :Datepart(nh dng,ngy)->s nguyn
V d :print datepart(qq,getdate())->3
Hm Getdate() ->Tr v ngy hin hnh
Hm Day(),Month(),Year()-> tr v ngy,thng,nm

Bi 4: Lp trnh vi SQL SerVer


Hm Round :hm lm trn s
C php :Round(s,s ch s thp phn)
v d : round(12.3456,2)->12.35
Left(chui ngun,s k t) ->ct chui t tri sang ly s k t
Right(chui ngun,s k t)-> ct chui t phi sang ly s k t
Substring(chui,v tr,s k t) -> ct chui t v tr sang ly s k
t
Hm Exists(Cu truy vn Select)=True nu cu truy vn c gi tr
tr v

Bi 4: Lp trnh vi SQL SerVer


3>CurSor :l i tng dng cha d liu ly t CSDL ,ging
i tng recordset trong VB
C php khai bo bin Cursor :
Declare Tn_Bin CURSOR
[phm vi] [di chuyn][trng thi][x l]
For cu lnh Select
[For update [OF danh sch ct]]
Trong :
Phm vi :
LoCal :ch s dng trong phm vi khai bo(mc nh)
Global :s dng chung cho c kt ni

Bi 4: Lp trnh vi SQL SerVer


Di chuyn :
ForWard_Only :ch di chuyn mt hng t trc ra sau(mt nh)
Scroll : di chuyn ty
Trng thi
Static : d liu trn Cursor khng thay i mt d d liu trong bng
ngun thay i(mt nh)
Dynamic :d liu trn Cursor s thay i mt d d liu trong bng
ngun thay i
KeySet :ging Dynamic nhng ch thay i nhng dng b cp nht

Bi 4: Lp trnh vi SQL SerVer


X l :
Read_Only :ch c(mt nh)
Scroll_Lock : c/ghi
Cu lnh select :khng cha cc mnh Into,Compute,Compute by
Danh sch ct cp nht : l danh sch cc ct s thay i c
M CurSor: Open tn_Bin_Cursor
c v x l d liu trong cursor
C php :
FETCH Hng di chuyn From Tn_bin_Cursor Into Danh sch bin

Bi 4: Lp trnh vi SQL SerVer


Trong :
Hng di chuyn :
NEXT: Di chuyn v sau
PRIOR : Di chuyn v trc
FIRST : Di chuyn v u
LAST : Di chuyn v cui
ABSOLUTE n : di chuyn n mu tin th n tnh t mu tin
u tin ,nu n<0 : tnh t mu tin cui
RELATIVE n :di chuyn n mu tin th n tnh t mu tin hin
hnh

Bi 4: Lp trnh vi SQL SerVer


Trong qu trnh di chuyn kim tra vic di chuyn c thnh
cng hay khng ta kim tra bin h thng
@@FETCH_STATUS nu <>0 tht bi
ng Cursor :Close @Tn_Bin
Gii phng CurSor khi b nh :DEALLOCATE @Tn_Bin
Ch :th t cc thao tc khi x l d liu trn CurSor
1. nh ngha bin Cursor
2. M Cursor
3. Duyt v x l d liu trn Cursor
4. ng v gii phng Cursur

Bi 4: Lp trnh vi SQL SerVer


V d
declare Cur_Vattu CurSor
for select Mavtu,tenvtu from Vattu
open Cur_Vattu
declare @mavtu char(4),@tenvtu varchar(100)
while 0=0
begin
fetch next from Cur_vattu into @mavtu,@tenvtu
if @@fetch_status<>0 break
print 'M vt t :' + @mavtu +' Tn Vt t :' + @tenvtu
end
close Cur_Vattu
deallocate Cur_Vattu

Bi 5: Th tc ni TI(Stored procedure)
1>Th tc ni ti l g ?
l Chng trnh con ca Sql SerVer
Trong th tc ni ti c th cha cc cu lnh truy vn, cc lnh
T-SQL
Th tc ni ti c th c cc tham s vo, tham s ra v c th tr
v kt qu
Ta c th gI th tc ni ti trong SQL hay trong cc ng dng
c xy dng bng VB,VB.NET
Cc x l xy dng trong th tc nI tI s chy nhanh hn khi
xy dng ngoi ng dng, v tp trung tI server nn d qun l
Theo m hnh lp trnh client-server tt c cc x l iu tp
trung tI server, trong sql server cc x l ny nm trong ttnt

Bi 5: Th tc ni TI(Stored procedure)
2>c php xy dng ttnt
Create Proc Ten_Thu_Tuc [(Cc tham s)]
As
cc cu lnh
Trong :
Cc tham s : chia lm hai loI
Tham s vo : nhn gi tr t ngI dng gI vo cho ttnt
x l
C php : @Ten_bien Kiu_d_liu [=gi tr mt nh]
Tham s ra :nhn kt qu tr v t Ttnt v hin th cho ngI
dng
C php : @Ten_bien Kiu_d_Liu OutPut

Bi 5: Th tc ni TI(Stored procedure)
GI thc hin ttnt
Exec Ten_Thu_Tuc [ @ten_Tham_so_vao= gia_tri[,..]
@ten_Tham_so_ra=@ten_Bien output]
LNH Return trong TTNT:
Trong th tc nt ta c th dng lnh Return tr v kt qu hoc
thot khI th tc
C php :
Return gi tr :thot khI th tc v tr v kt qu
Hoc
Return : Thot khI th tc
GI th tc c gi tr tr v
Exec @ten_bien=Ten_thu_Tuc [ @ten_Tham_so_vao=
gia_tri[,..] @ten_Tham_so_ra=@ten_Bien output]

Bi 5: Th tc ni TI(Stored procedure)
3>Cc dng th tc nI tI :
A. Th tc hin th d liu:
Loi th tc ny c th c tham s vo
Trong n cha cu lnh Select
B. Th tc Tnh Ton :
Loi th tc ny c th c tham s vo,tham s ra, gi tr
tr v
Trong n cha cu lnh T-SQL kim tra ,tnh ton gi tr
tr v

Bi 5: Th tc ni TI(Stored procedure)
C>Th tc Thm d liu vo bng:
Loi th tc ny c tham s vo l tn cc ct c trong bng,
tr cc ct c kiu d liu t tng (identity)
Tham s ra,gi tr tr v :c th c, cho bit vic thm d liu c
thnh cng hay khng
Trong n cha cu lnh T-SQL :
Kim tra rng but d liu duy nht(primary key,unique)
c php :
if Exists (Select * from Ten_Bang where Ten_Cot=@ten_cot)
begin
print thng bo li
set @bien_tra_ve= gi tr lI Hoc Return gi tr li
Return
End

Bi 5: Th tc ni TI(Stored procedure)
Kim tra rng but kha ngoi (Foreign Key)
C php
if not Exists (Select * from Ten_Bang where
Ten_Cot=@ten_cot)
begin
print thng bo lI
set @bien_tra_ve= gi tr lI Hoc Return gi tr li
Return
End
Kim tra rng but Min gi tr (Check)
if @ten_cot khng nm trong min gi tr
begin
print thng bo lI
set @bien_tra_ve= gi tr lI Hoc Return gi tr li
Return

Bi 5: Th tc ni TI(Stored procedure)
Ghi d liu vo bng
C php
Insert into Ten_Bang(Ten_cot1[,]) values( @Ten_cot1[,])

Bi 5: Th tc ni TI(Stored procedure)
d>Th tc Cp nht d liu ca bng:
Loi th tc ny c tham s vo l tn cc ct c trong bng,
Tham s ra,gi tr tr v :c th c, cho bit vic Cp nht d
liu c thnh cng hay khng
Trong n cha cu lnh T-SQL :
Kim tra d liu cp nht c tn ti hay khng
c php :
if not Exists (Select * from Ten_Bang where
Ten_Cot_khoa_chinh=@ten_cot_khoa_chinh)
begin
print thng bo li
set @bien_tra_ve= gi tr lI
Hoc Return gi tr li
Return
End

Bi 5: Th tc ni TI(Stored procedure)
Cp nht d liu vo bng
C php
Update Ten_Bang
Set ten_cot=@tencot [,..]
Where ten_cot_khoa_chinh=@ten_cot_khoa_chinh
Ch : khng cp nht ct lm kha chnh v ct c thuc tnh
identity

Bi 5: Th tc ni TI(Stored procedure)
d>Th tc xa d liu ca bng:
Loi th tc ny c tham s vo l cc ct lm kha chnh trong
bng, Tham s ra,gi tr tr v :c th c, cho bit vic xa d
liu c thnh cng hay khng
Trong n cha cu lnh T-SQL :
Kim tra d liu xa c tn ti trong bng nhiu hay khng
c php :
if Exists (Select * from Ten_Bang_nhieu where
Ten_Cot_khoa_ngoai=@ten_cot_khoa_chinh)
begin
print thng bo li
return
End

Bi 5: Th tc ni TI(Stored procedure)
xa d liu vo bng
C php
Delete from Ten_Bang
Where ten_cot_khoa_chinh=@ten_cot_khoa_chinh
Ch : ngoi cc lnh trn c th cn cc lnh cp nht d liu
ca cc bng lin quan

Bi 5: Th tc ni TI(Stored procedure)
4>Giao tc :(Transaction):
L tp hp cc lnh s c thc hin nu tt c u
thnh cng, nu c mt lnh tht bi ,th s khng c
lnh no c thc hin
V d : giao tc chuyn tin ca ngn hng : chuyn
s lng N t ti khon A sang ti khon B, cc cng
vic c thc hin :
TaiKhoanA=TaiKhoanA-N
TaiKhoanB=TaiKhoanB+N
Hai cng vic ny s c thc hin nu khng c
lnh no gy li

Bi 5: Th tc ni TI(Stored procedure)
C php xy dng 1 giao tc trong SQL Server
Lnh Bt u 1 Giao tc : Begin Tran
Lnh kt thc thnh cng 1 giao tc : Commit Tran
Lnh kt thc tht bi 1 giao tc : Rollback Tran
kim tra cc lnh thc hin c thnh cng hay
khng :truy cp n gi tr ca bin @@Error, nu
@@Error<>0 : tht bi

Bi 5: Th tc ni TI(Stored procedure)
C php :
Begin Tran
< tp cc lnh>
If @@error<>0
begin
print giao tac that bai
Rollback tran
end
Else
Commit tran

Bi 5: Th tc ni TI(Stored procedure)
Th tc ni ti tr v Cursor :Th tc tr v mt Cursor cha
cc dng d liu tha iu kin
C php truyn tham s tr v kiu Cursor :
@Ten_bien Cursor Varying Output
Cc x l :
Bn trong th tc :
Gn gi tr cho Cursor, c php :
Set @Ten_Bien=CurSor [phm vi] [di chuyn][trng thi]
[x l]
For cu lnh Select
M Cursor

Bi 5: Th tc ni TI(Stored procedure)
Ngoi th tc :
Duyt v x l d liu trong Cursor
ng v gii phng Cursor

Bi 6:Hm Do Ngi Dng nh Ngha


1>Khi Nim:
L i tng mi c b sung vo SQL Server 2000
Mang y tnh cht ca mt hm :c th c tham s vo,
x l v tr v kt qu
Cc loi hm :
Hm xc nh (deter-ministic) : lun tr v 1 gi tr khi
nhn cc gi tr truyn vo nh nhau
Hm khng xc nh (non-deterministic) : cho gi tr
khc nhau ty thi gi nh hm Getdate()..

Bi 6:Hm Do Ngi Dng nh Ngha


2>Xy dng Hm:
A> hm tr v mt gi tr : gi tr tr v c kiu d liu l mt
trong cc kiu ca SQL Server
C php :
Create Function Ten_Ham[(Cc tham s)]
Returns Kiu_d_liu_tr_v as
Begin
<cc x l>
Return ket_qua
end

Bi 6:Hm Do Ngi Dng nh Ngha


Ta c th gi cc hm loi ny trong cu truy vn, trong lnh
to bng,trong th tc ni ti
B>hm tr v d liu c ly t cc bng trong CSDL:ging
nh view nhng c tham s vo
C php :
Create Function Tn_Hm[(cc tham s vo)]
Returns Table as
Return(Cu lnh select)
Gi th tc loi ny ging nh view

Bi 6:Hm Do Ngi Dng nh Ngha


C> hm to bng : to v tr v mt bng, trong hm c th
cha tt c cc lnh T-SQL
C php :
Create Function Ten_Ham[(cc tham s)]
Returns @Ten_Bang_tr_v Table
(Tn_ct Kiu_d_liu[,]
)as
Begin
<cc lnh T-SQL>
Insert into @ten_bang_tra_ve ..
Return

Bi 7:Trigger
1>Tng quan:
Trigger l mt dng t bit ca th tc ni ti nhng :
Trigger khng c tham s
Khng gi thc hin bng lnh Exec, m t ng kch hot
khi d liu trn bng c lin quan n Trigger c cp nht
Mt Trigger c to cho mt bng v dng kim tra cc
rng but ton vn phc tp hoc cp nht d liu ca cc
bng lin quan

Bi 7:Trigger
2>xy dng Trigger:
C php
Create Trigger Ten_trigger on Ten_Bang/Tn View
For/Instead of Insert[,Update,Delete]
AS
<Tp lnh T-SQL>

Bi 7:Trigger
Trong :
Tn bng/view : l bng/view m trigger c to
Nu Trigger c khai bo vi t kha For :trigger ny s
c kch hot sau khi d liu cp nht vo bng
Nu Trigger c khai bo vi t kha Instead of :trigger ny
s c kch hot trc khi d liu cp nht vo bng,
thng c dng kim tra d liu cp nht trn View
Insert,Update,Delete : Trigger c kch hot ng vi hnh
ng thm,sa ,xa d liu trong bng
Th t kim tra cc rng buc ton vn d liu trong bng :
Trigger Instead of->constraint-> trigger For

Bi 7:Trigger
3>Hai bng tm Inserted v Deleted:
Khi thm d liu vo bng, d liu c thm vo s a vo
bng tm Inserted
Khi xa d liu ra bng, d liu xa s a vo bng tm
Deleted
Thao tc cp nht c x l :
Xa dng d liu c (d liu c s a vo bng Deleted)
Thm dng d liu mi(d liu mi s a vo bng
inserted)
ly d liu va mi cp nht vo bng ta truy cp vo
bng tm Deleted hoc Inserted ,ch truy cp c hai bng ny
trong Trigger

Bi 7:Trigger
4>Cc loi Trigger:
Thng bo li trong Trigger : thng bo li trong trigger ta
dng hm :
Raiserror(Chui thng bo li,16,1)
Khng cho thay i d liu :
Rollback Tran
A>Cc x l trong Trigger kim tra khi thm d liu vo bng
Khai bo bin : trong bng c bao nhiu ct tng ng
khai bo by nhiu bin
Dng cu lnh Select ly d liu t bng Inserted gn cho
cc bin ny
Kim tra rng but ton vn ging th tc ni tai thm dl

Bi 7:Trigger
B>Cc x l trong Trigger kim tra khi Sa d liu vo bng
Kim tra khng cho php cp nht cc ct
If Update(Ten_Cot)
Begin
Raiserror(khng thay i d liu ct Ten_Cot,16,1)
Rollback Tran
end
Khai bo cc bin ly d liu kim tra
Dng cu lnh Select ly d liu mi c cp nht t
bng Inserted , ly d liu trc khi cp nht t bng
Deleted

Bi 7:Trigger
C>Cc x l trong Trigger kim tra khi xa d liu vo bng
Khai bo cc bin ly d liu kim tra
Dng cu lnh Select ly d liu mi xa t bng Deleted
Kim tra rng but ton vn ging th tc ni tai xa dl

Bi 8 :K thut lp trnh Vb vi SQL Server

I.
A.

Lin kt d liu VB v SQL Server


C php

Ging nh vic lin kt d liu gia VB v Access,


vic lin kt gia Vb v SQL Server cng c thc
hin thng qua i tng ADODB.Connection
nh gi tr ca chui kt ni - ConnectionString
ConnectionString =
"Provider=SQLOLEDB.1;Initial
Catalog=Tn_CSDL; " & _
"Data Source=Tn_My_Tnh;User
Id=Tn_Ti_Khon;Pwd=Mt_Khu"

Bi 8 :K thut lp trnh Vb vi SQL Server


Public cnSQL As ADODB.Connection
Public Sub LinkSQL_DB()
On Error Goto LoiLienKet:
If cnSQL Is Nothing Then
Set cnSQL = New ADODB.Connection
End If
cnSQL.ConnectionString =
"Provider=SQLOLEDB.1;Initial
Catalog=QuanLyBanHang;" & _
"Data Source=172.29.7.5;User
Id=TuyetNhi;Pwd=abc"
cnSQL.CursorLocation = adUseClient
cnSQL.Open
Exit Sub
LoiLienKet:

Bi 8 :K thut lp trnh Vb vi SQL Server


2.i tng Command :l i tng dng gi thc thi
mt th tc ni ti trong SQL Server
Cc thuc tnh :
ActiveConnection : i tng connecttion
CommandText : tn th tc
CommandType : kiu l adCmdStoredProc
Gi thc hin : Execute

Bi 8 :K thut lp trnh Vb vi SQL Server


3.i tng Parameter : dng truyn tham s vo ,tham s
ra, nhn gi tr tr v trong ttnt
Khai bo v khi to :
Dim p As ADODB.Parameter
p= cmd.CreateParameter("tents",kieudl,kieuthamso,kich
thuoc,giatri)
Trong :
tn tham s : l tn ca tham s trong ttnt
Kiu d liu :l kiu ca tham s
adDate :kiu ngy
adBSTR :kiu chui

Bi 8 :K thut lp trnh Vb vi SQL Server


To bo co vi Crystal Report
1.

To bo co:

Bc 1: Chn As a Blank Report trong hp


thoi Welcome to Crytal Reports

Bi 8 :K thut lp trnh Vb vi SQL Server


To bo co vi Crystal Report
Bc 2: Chn Microsoft SQL Server
trong hp thoi Data Explorer

Bi 8 :K thut lp trnh Vb vi SQL Server


To bo co vi Crystal Report
Bc 3: in y thng tin cho mn hnh
ng nhp

nh tn Server vo
y!

Bi 8 :K thut lp trnh Vb vi SQL Server


To bo co vi Crystal Report
Bc 4: Chn cc bng cn thit cho bo co,
nhn nt Add, sau nhn Close

Bi 8 :K thut lp trnh Vb vi SQL Server


Kiu tham s :
adParamInput : tham s vo
adParamOutput : tham s ra
adParamReturnValue : gi tr tr v
Chiu di : i vi kiu d liu chui( char, varchar..) ,ta phi
truyn vo chiu di ca d liu
Gi tr : i vi cc tham s vo ta phi c gi tr truyn vo
a tham s vo comman
cmd.Parameters.Append tn_tham_so
Th t truyn tham s : tham s tr v,cc tham s theo th
t c khai bo trong ttnt

Bi 8 :K thut lp trnh Vb vi SQL Server

DK_In.ReportFileName = App.Path & "\baocao.rpt"


DK_In.Connect =
"DSN=admin;Uid=sa;pwd=;dsq=Ql_ban_hang"
DK_In.WindowState = crptMaximized
DK_In.SelectionFormula = "{Bao_cao_don_dh.sodh}='" &
So_Dat_Hang & "'"
DK_In.Action = 1

You might also like