1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng điện tử môn tin học: Cơ bản về lập trình bằng Transact_SQL potx

18 466 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 469 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Batch: là một tập các phát biểu T-SQL nằm liên tiếp và kết thúc bởi phát biểu GO Vd: USE giaotrinh_db GO Create View vw_NhanVien AS Select * From * From NhanVien GO Select * From * Fr

Trang 1

CƠ BẢN VỀ LẬP TRÌNH

BẰNG TRANSACT – SQL

10

Trang 2

1 Khái niệm cơ bản:

a Qui tắc định danh:

Tối đa 128 ký tự.

Bắt đầu là một ký tự thông thường A->Z

Bắt đầu là một ký hiệu (@,#) sẽ có một ý nghĩa

khác.

Những định danh nào có khoảng trắng ở giữa thì

phải kẹp trong dấu [] oặc “ ”

Các định danh không được trùng lắp và không

trùng với từ khóa của T-SQL.

Trang 3

b Tham chiếu đến các đối tượng:

Tên đầy đủ: Server.database.ower.object

Tên ngắn: Nếu là local server thì ta khỏi chỉ

Server, nếu ở CSDL hiện hành thì không cần chỉ Database; Owner mặc định là user name trong Database.

Nếu tham chiếu tường minh thì tăng tốc.

Ví dụ: Create Table Northwind orederhist

Northwind.dbo.orederhist

Database Owner (dbo) user có đầy đủ các quyền

thao tác trong CSDL Bất kỳ một thành viên

Trang 4

c Kiểu dữ liệu (data type): xem lại bài 5 – Tr.43

d Batch: là một tập các phát biểu T-SQL nằm liên

tiếp và kết thúc bởi phát biểu GO

Vd:

USE giaotrinh_db

GO

Create View vw_NhanVien

AS

Select * From * From NhanVien

GO

Select * From * From vw_NhanVien

Trang 5

Ghi chú:

Các phát biểu trong 1 batch được biên dịch

thành một nhóm.

Nếu một trong phát biểu của batch bị lỗi thì

batch cũng xem như lỗi.

Các phát biểu Create Các phát biểu Create bị ràng buộc trong một

batch đơn, tức trong batch đó chỉ có phát biểu Create Các phát biểu đó là: Create DataBase, Create Table, Create Index,…

e Kịch bản (Script) Kịch bản (Script)

Một Script là một tập của một hay nhiều bó lệnh

được lưu lại thành một tập tin SQL

Trang 6

2 Biến (Variable)

Biến được dùng để:

Phải được khai báo trước khi dùng.

Các loại biến: biến cục bộ (local) và biến toàn

cục (Global: được SQL Server đưa ra và có thể dùng bất cứ khi nào và không cần khai báo

Biến cục bộ (Local variable)

Được khai báo trong phần thân của một bó lệnh

hoặc một thủ tục.

Phạm vi hoạt động của biến bắt đầu từ điểm mà

nó được khai báo cho đến khi kết thúc một lô

(batch) hoặc stored procedure hoặc stored procedure hoặc Function hoặc Function mà

nó được khai báo.

Trang 7

a Khai báo (Declare):

DECLARE @var_name var_type [,…n] var_type [,…n]

Gán giá trị cho biến:

Nếu biến vừa khai báo xong thì biến mặc nhiên

được gán giá trị là NULL.

Để gán biến ta dùng lệnh Set Để gán biến ta dùng lệnh Set hoặc dùng câu lệnh hoặc dùng câu lệnh

Select

Syntax:

SET @var_name = expression

SELECT {@var_name = expression} [,…n] expression } [,…n]

Trang 8

Use giaotrinh_db

GO

Declare @NamLV int

Set @NamLV = 1994

Select * From * From NhanVien

Where Year (NgayLamViec) = @NamLV

GO

Use giaotrinh_db

GO

Declare @TenDem nvarchar @TenDem nvarchar (10), (10) , @HoTen nvarchar @HoTen nvarchar (50)

Set @TenDem = N'Van'

Select @HoTen = Ho + ' ' + Ten + Ten From From NhanVien

Where Ho Like '%' + @TenDem + '%'

Select @HoTen

Trang 9

3 Cấu trúc điều khiển:

a Khối BEGIN … END

b PRINT: Dùng để in thông tin ra màn hình kết quả của SQL của 1 Biểu thức, chuỗi, hàm, biến….

VD:

VD: PRINT PRINT N ‘Chào bạn’

PRINT @@VERSION @@VERSION

PRINT N‘Hai nhân năm = ‘ + Cast (2*5 as char(4))

c Cấu trúc điều khiển: IF … ELSE

Syntax:

IF condition

{statement}

[ ELSE [Condition 1 ]

{statement}

{statement} ] ]

Trang 10

USE GiaoTrinh_db

IF ( Select Count (*) From KhachHang

Where TenCongTy = ‘ABC’ ) > 0

Begin Print ‘Có Công ty tên là ABC’

End ELSE

Begin Print ‘Không Có Công ty tên là ABC’

End

Trang 11

d Cấu trúc của CASE CASE input_expression

WHEN WHEN when_expression THEN when_expression THEN result_expression

[ n ]

[ [ ELSE ELSE else_result_expression ]

END

-CASE

WHEN when_expression THEN result_expression

[ n ]

[ ELSE else_result_expression ]

END

Trang 12

SELECT MaNhanVien, Ho, Ten, LuongCoBan +

CASE

WHEN PhuCap IS NULL PhuCap IS NULL THEN THEN 0

END

-Select N'Nhóm giá các loại hàng' =

CASE CASE

When When price IS NULL price IS NULL THEN THEN N'Chưa có gía'

When When price < 10 THEN price < 10 THEN N'Giá < 10'

When When price >= 10 and price >= 10 and price < 20 Then price < 20 Then N'Giá >= 10 và <=20'

Else Else N'Giá > 20'

END END ,

Title Title as as N'Tựa đề'

Trang 13

DECLARE @a as int @a as int , @b as int , @b as int

DECLARE @ketqua as nvarchar @ketqua as nvarchar (30)

SET @a=3

SET @b=5

SET @ketqua = CASE @ketqua = CASE

WHEN WHEN @a<@b THEN @a<@b THEN N'A nhỏ hơn B'

WHEN WHEN @a<@b THEN N'A lớn hơn B'

ELSE ELSE N'A bằng B'

END END - End cua CASE

PRINT @ketqua

Trang 14

e Vòng lặp WHILE

WHILE Boolean_expression

{sql_statement | statement_block}

[ BREAK ]

{sql_statement | statement_block}

[ CONTINUE ]

[BREAK]: Dùng để kết thúc vòng lặp khi gặp một

trường hợp cụ thể nào đó.

[CONTINUE]: Lặp lại đầu vòng lặp.

Thông thường 2 từ khóa Break Thông thường 2 từ khóa Break và Continue và Continue nằm trong

trong cấu trúc

trong cấu trúc If…Else… If…Else…

Trang 15

e Vòng lặp WHILE USE pubs

GO

WHILE (SELECT ( SELECT AVG AVG (price) FROM (price) FROM titles) < $30

BEGIN

UPDATE UPDATE titles

SET SET price = price * 2

SELECT SELECT MAX(price) FROM titles

IF IF (SELECT ( SELECT MAX MAX (price) FROM (price) FROM titles) > $50

BREAK BREAK

ELSE ELSE

CONTINUE CONTINUE

END

PRINT 'Too much for the market to bear'

Trang 16

e Lệnh RETURN: RETURN [integer_expression]

Return kết thúc tiến trình trình xử lý, Return kết thúc tiến trình trình xử lý, Return thường được dùng trong thủ tục lưu trữ

được dùng trong thủ tục lưu trữ (Store Procedure) (Store Procedure).

f Lệnh WAITFOR: Là một chỉ thị cho SQL Server tạm dừng một thời gian trước khi xử lý tiếp các phát biểu sau đó.

Syntax: WAITFOR WAITFOR { DELAY { DELAY ‘time’ | TIME ‘time’ | TIME ‘time’ }

‘time’: Được viết theo dạng hh:mm:ss, tối đa là 24 giờ

DELAY ‘Time’: Hệ thống tạm dừng trong Hệ thống tạm dừng trong khoảng thời

gian ‘Time’ VD:

gian ‘Time’ VD: WAITFOR DELAY WAITFOR DELAY ’02:10’

TIME ‘Time’: Hệ thống được tạm dừng đến Hệ thống được tạm dừng đến thời gian

Trang 17

g Lệnh RAIREEOR

Phát sinh lỗi của người dùng Người dùng có thể phát sinh các lỗi từ bảng

thông tin của người dùng

[,argument [,…n]]) [WITH option [,…n]]

Thêm một lỗi mới của người dùng định nghĩa:

[,’with_log’] [,’replace’]

Xóa một lỗi của người dùng

Trang 18

Msg_id: Là mã số của lỗi mới, là một số int, không được

trùng các mã đã có sẵn, bắt đầu là

trùng các mã đã có sẵn, bắt đầu là 50001 50001 .

Severity: Là mức lỗi của lỗi, là một số smallint Là mức lỗi của lỗi, là một số smallint Mức hợp lệ

là từ 1 đến 25 Chỉ có người quản trị CSDL mới có thể phát sinh thêm một thông báo lỗi mới từ 19 đến 25.

‘msg’: Là một chuỗi thông báo lỗi, tối đa 255 ký tự.

‘Language’: mặc định là ngôn ngữ của phiên kết nối.

‘with_log’: Thông báo lỗi có được ghi nhận vào nhật ký của

ứng dụng khi nó xảy ra hay không, mặc định là

ứng dụng khi nó xảy ra hay không, mặc định là FALSE FALSE

‘replace’: Nếu được chỉ định chuỗi REPLACE Nếu được chỉ định chuỗi REPLACE , thì thông báo lỗi đã tồn tại được ghi đè bởi chuỗi thông báo mới và mức lỗi mới Tham số này phải chỉ định nếu

mức lỗi mới Tham số này phải chỉ định nếu msg_id msg_id đã có.

Ngày đăng: 11/08/2014, 22:22

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm