1. Trang chủ
  2. » Công Nghệ Thông Tin

SQL server 2005 – Lập trình, thủ tục và hàm part 10 ppsx

32 378 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 32
Dung lượng 16,26 MB

Nội dung

Trang 1

326 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng TF @Flag =0 TNSERT INTO TmbortBatchs (ImportBatchNo, ImportBatchDate, ImportDiscontinued, EntryDate, UserName) VALUES (@ImportBatchNo, @ImportBatchDate, 0, GETDATE() , CURRENT_USER) ELSE UPDATE ImportBatchs SET ImportBatchDate = @ImportBatchDate, ImportDiscontinued = @ImportDiscontinued, UserName = CURRENT_USER WHERE ImportBatchNo = @ImportBatchNo GO 4.1.3 Bang Imports

Tiếp theo hai bảng dữ liệu ImportTypes và ImportBatchs, bạn cũng khai báo thủ tục nội tại dùng để liệt kê danh sách mẩu tin trong bảng Imports như ví dụ UD-21

MP 2 t kê mẩu tin tron

CREATE PROC udsViewImports @ImportNo VARCHAR (10) AS

SELECT * FROM Imports WHERE

ImportNo = CASE @ImportNo WHEN '' THEN ImportNo ELSE @ImportNo END GO

Trang 2

hi liệt kê một mẩu tin chỉ định trong bang Imports thi ban khai báo tương tự như hình UD-21-1 tudsViewImports '100000103' sq lđ Cl Resuts | : ~TimpatNo — ImeotöaciNo ImpatĐae ImpalypdD SuppielD 1 [ioosogi6a"] 'enoo0003 2007043000000 lữ 0003 | |

Hình UD-21-1: Liệt kê một mẩu tin

Nếu cho phép người sử dụng xóa mẩu tin trong bang Imports, bạn có

thể khai báo thủ tục nội tại như ví dụ UD-21-1

Ví dụ UD-91-1: Khai báo xóa mẩu tin trong bảng Imports

CREATE PROC udsDeleteImports @ImportNo VARCHAR (10) AS

DELETE FROM Imports

WHERE

ImportNo = CASE @ImportNo WHEN '' THEN ImportNo

ELSE @ImportNo END

GO

Nếu người sử dụng muốn xóa một, mẩu tin trong bảng Imports, họ có thể khai báo gọi thủ tục nội tại udsDeletelmports như ví dụ UD-21-2

Ví dụ UD-21-2: Khai báo xóa một mẩu tin

uđsDeleteTImports 'TBN000007' GO

Nếu bạn cung cấp giá trị rỗng cho tham số ®ImportNo thì thủ tục nội tại sẽ xóa tất cả mẩu tin trong bảng Imports

í du UD-21-3: Khai báo xóa

udsDeleteImports '' GO

ất cả các mẩu tỉn|

Ngoài ra, bạn cũng khai báo thủ tục nội tại cho phép người sử dụng

thêm mới và cập nhật mẩu tin trong bảng Imports như ví dụ UD-21-4

Ví dụ UD-21-4: Khai báo thêm và cập

CREATE PROC udsInsAndUpdImports

Trang 3

328 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng @Flag BIT, @ImportNo VARCHAR (10), @Import Bat chNo VARCHAR (10), @ImportDate SMALLDATETIME, @ImportTypeld CHAR (3), @SupplierId CHAR(5), @DescriptionInVietnamese NVARCHAR (150), @DescriptionInSecondLanguage NVARCHAR (150), 91mportDiscontinued BIT AS IF @Flag =0

INSERT INTO Imports

(ImportNo, ImportBatchNo, ImportDate, ImportTypelId, Supplierid,

DescriptionInVietnamese, DescriptionInSecondLanguage,

ImportDiscontinued, EntryDate, UserName} VALUES (@ImportNo, @ImportBatchNo,

@ImportDate, @ImportTypeld, @SupplierTd, @bescriptionInVietnamese, @DescriptionInSecondLanguage, 9, GETDATE(), CURRENT_USER) ELSE UPDATE Imports SET ImportDate = @ImportDate, ImportTypelId = @ImportTypetd, Import BatchNo = @ImportBatchNo, DescriptionInVietnamese = @DescriptionInVietnamese, Descript ionInSecondLanguage = @DescriptionInSecondLanguage, Import Discontinued = @ImportDiscontinued, UserName = CURRENT_USER WHERE ImportNo = @ImportNo GO 4.1.4 Bang ImportDetails

Trong phần nhập kho, chúng ta có hai bảng dữ liệu chính là Imports

và ImportDetails Để quản lý dữ liệu bảng ImportDetails, bạn khai báo thủ

tục nội tại dùng để liệt kê danh sách mẩu tin trong bang ImportDetails dua

Trang 4

WHERE ImportNo = @ImportNo

AND OrdinalNumber = CASE @ordinalNumber WHEN 0 THEN OrdinalNumber

ELSE @OrdinalNumber END

AND Product ID = CASE @ProductID WHEN '' THEN Product ID

ELSE @Product ID END GO

Để cho phép người sử dụng liệt kê tất cả mẩu tin trong bảng

ImportDetails, bạn khai báo gọi thủ tục nội tại udsViewImportDetails như hình UD-22 udsViewImportDetails '100000104','',O — §T002 700 I00000104 P00001 ST002 200 00000104 P0002 ST002 50

Hình UD-22: Liệt kê mdu tin trong bang ImportDetails

Khi liệt kê một mẩu tin chỉ định trong bảng ImportDetails thì bạn

khai báo tương tự như hình UD-22-1 udsViewImportDetails '100000104', 'POOD01', 2 I00000104 P00001 S$T002 200

Hình UD-22-1: Liệt kê một mẩu tin

Do mỗi khi người sử dụng xóa mẩu tin trong bảng Imports thì những mẩu tin liên quan trong bảng ImportDetails sẽ tự động xóa theo, cho nên chúng ta chỉ khai báo thủ tục nội tại để xóa một mẩu tin trong bảng

Trang 5

330 Ung dụng: Sử dụng thủ tục nội tại trong ứng dụng

í dụ UD-22-1; Khai báo xóa mẩu tỉn tron:

CREATE PROC udsDeleteImportDetails

@ImportNo VARCHAR (10),

@ProductID VARCHAR (10),

@ordinalNumber TINYINT AS

DELETE FROM ImportDetails WHERE ImportNo = @ImportNo

AND OrdinalNumber = @OrdinalNumber

AND ProductID = @ProductID Go

Khi xóa một mẩu tin trong bang ImportDetails, bạn có thể khai báo

gọi thủ tục tại udsDeletelmportDetails như ví dụ UD-22-2 Vi du UD-22-2: Khai báo xóa mẩu tỉn

udsDeleteImportDetails 'TBNO00007' GO

„ '"P00001',2

Tương tự như trường hợp thêm mới hay cập nhật bảng Imports, ban cũng khai báo thủ tục nội tai cho phép người sử dụng thêm mới và cập nhật mẩu tin trong bảng ImportÐetails như ví dy UD-22-3

í dự UD-27-3: Khai báo thêm và cập nhật mẩu tỉn| CREATE PRỌC uđs1nsAnđUpdTImportDecails @Flag BIT, @importNo VARCHAR (10), @Product ID VARCHAR (10), @OrdinalNumber TINYINT, @StockId CHAR(5), @Quantity DECIMAL (18,0) AS IF @Flag=0 INSERT INTO ImportDetails (OrdinalNumber, ImportNo, ProductID, StockId, Quantity) VALUES (@OrdinalNumber, @ImportNo, @ProductID, @StockId, @Quantity) ELSE

UPDATE ImportDetails SET StockId = @StockId, Quantity = @Quantity

WHERE ImportNo = @ImportNo

AND OrdinalNumber = @OrdinalNumber AND ProductID = @ProductID

Trang 6

Do mỗi lần thêm mẩu tin vào bảng ImportDetails, người sử dụng cần

cập nhật số lượng trong bảng ProductlnStocks, do dé ban cần khai báo Trigger như ví dụ UD-22-4

n mẫu lin vào! Por

CREATE TRIGGER triInsImportDetails ON ImportDetails

FOR INSERT AS

Khai béo bién

DECLARE @ProductId VARCHAR (10} DECLARE @StockId CHAR (3)

DECLARE @Quantity DECIMAL (18,0) Khai báo lấy giá trị tương ứng gán uào biến

SELECT @ProductId= Productid,

@StockId = StockId, @Quantity = Quantity FROM INSERTED Nếu sản phẩm đã tôn tại trong kho thì cập nhật số lượng trong bằng ProductinStocks TF EXISTS (SELECT * FROM ProductInStocks WHERE ProductTd=@Product Tả AND StockId=@StockId) BEGIN

UPDATE Product InStocks SET GoodProduct InStock = GoodProductInStock + @Quantity WHERE Product Id=@ProductId AND StockId=@StockId END ELSE BEGIN

Khai bdo thém moi m@u tin uào bằng ProductinStocks INSERT INTO Product InStocks

(ProductId, StockId, GoodProduct Instock)

VALUES (@Productid, @StockId, @Quantity?) END

GO

Tương tự như vậy, mỗi khi người sử dụng xóa mẩu tin trong bảng

Trang 7

332 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng FOR DELETE AS

DECLARE @ProductId VARCHAR (10) DECLARE @StockId CHAR {3)

DECLARE @Quantity DECIMAL (18, 9) SELECT @ProductId= ProductTd,

@StockTd = StockId, @Quantity = Quantity FROM INSERTED

UPDATE ProductInStocks SET GoodProduct InStock =

GoodProduct Instock - @Quantity

WHERE Product ld=@Productid AND StockId=@StockId

GO

Nếu người sử đụng cập nhật số lượng nhập trong bảng ImportDetails, chúng ta cần xét hai trường hợp, nếu người sử dung cập nhật số lượng nhỏ hơn số lượng hiện hành thì chúng ta thực hiện phép toán trừ để giảm đi và

trường hợp ngược lại thì phép toán cộng để tăng thêm số lượng trong cột

GoodProductInStock của sản phẩm trong kho đó

Để làm điều này, bạn cần khai báo lại thủ tục nội tại có tên

udsInsAndUpdImportDetails thay vì sử dụng đối tượng Trigger như trường hợp thêm hay xóa mẩu tin trong bảng ImportDetails CREATE PROC ugdsTnsAnđUpđTmportDetails KT p nhật bột GoodProduetinStoek @Plag BIT, @ImportNo VARCHAR (10) z @ProductID VARCHAR ( 10), @OrdinalNumber TINYINT, @StockId CHAR(5), @Quantity DECIMAL (18,0) AS IF 8Flag =0 INSERT INTO ImportDetails (OrdinalNumber, ImportNo,

ProductID, StockId, Quantity) VALUES (@OrdinalNumber, @ImportNo, @ProductID, @StockId, @Quantity) ELSE

BEGIN

DECLARE @CurrentQtty DECIMAL (18,0) DECLARE @UpdateQtty DECIMAL (18 20) SELECT @Currentotty = Quantity

FROM ImportDetails

WHERE ImportNo = @ImportNo

Trang 8

UPDATE ImportDetails SET StockId = @StockId, Quantity = @Quantity

WHERE ImportNo = @ImportNo

AND OrdinalNumber = @OrdinalNumber

AND ProductID = @Product ID;

SET @UpdateQtty = @Quantity - @CurrentQtty UPDATE Product InStocks

SET GoodProduct InStock =

GoodProduct InStock + @UpdateQtty

WHERE Product Id=@ProductId AND StockId=@StockId

END GO

Nếu có nhu câu liệt kê số lượng nhập theo sản phẩm, bạn có thể khai

báo thủ tục nội tại như ví dụ UD-22-7 CREATE PROC udsViewImportByProducts @Product ID VARCHAR (10) AS SELECT ProductNameInVietNamese, P.ProductID, SUM(Quantity) As TotalQuantity FROM Products P, ImportDetails D WHERE P Product ID = D Product ID AND D Product ID = CASE @ProductID

WHEN '' THEN D Product ID ELSE @ProductID END

GROUP BY ProductNameInVietNamese, P.ProductID ORDER BY Product ID

GO

Trang 9

334 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng

4.2 Phần xuất kho

Tương tự như phần nhập kho, khi làm việc với phần xuất kho, bạn

quan tâm các bảng dữ liệu liên quan như: ExportTypes, ExportBatchs, Exports va ExportDetails

4.2.1 Bang ExportTypes

Để làm việc với bảng ExportTypes, bạn bắt đầu khai báo thủ tục nội tại dùng để liệt kê danh sách mẩu tin như ví dụ UD-23

) ÁO kê mẩu tin trong

CREATE PROC uđsViewExportTypes @ExportTypeld CHAR (3)

AS

SELECT * FROM Export Types

WHERE

ExportTypeld = CASE @ExportTypeId

WHEN '' THEN Export TypelId

ELSE @Export TypeId END

Nếu có nhu câu liệt kê tất cả mẩu tin trong bang ExportTypes, ban

khai báo gọi thủ tục nội tại udsViewExportTypes như hình UD-23 udsViewExportTypes '' GO | Ga Resuts | 73 Messages lR ExportT ypelD [ExpottTypeName 1 |

1 q + Export products to customers | | 2 E02 Export products to agents

Hinh UD-23: Liét kê mẩu tin trong bảng ExportTypes

Trang 10

udsViewExportTvpes 'Eũ2' sq Bl Results la Messages|_ _ as

alee ExportTypelD | ExportTypeName LS Export products to agents

Hình UD-23-1: Liệt kê một mẩu tin

Trong trường hợp xóa mẩu tin trong bảng ExportTypes, bạn có thể

khai báo thủ tục nội tại như ví dụ UD-23-1

Ví dụ UD-23-1: Khai báo xóa mẩu tin trong

CREATE PROC udsDeleteExportTypes @Export Typeld CHAR (3)

AS

DELETE FROM ExportTypes WHERE

Export Typeld = CASE @ExportTypeTd

WHEN '' THEN ExportTypeId

ELSE @ExportTypelId END

s bang ExportTypes

GO

Rhi xóa một mẩu tin trong bảng ExportTypes, bạn có thể khai báo

gọi thủ tục nội tại udsDeleteExportTypes như ví dụ UD-23-2

Ví dụ UD-23-2: Khai báo xóa một mẩu tỉn| udsDeleteExportTypes 'E04'

GO

Néu ban cung cap gid tri réng cho tham sé @ExportTypeld thi thi tuc nội tại sẽ xóa tất cả mẩu tin trong bảng ExportTypes

Ví dụ UD-23-3: Khai báo xóa tất cả các mẩu tỉin| udsDeleteExportTypes ' '

GO

Tương tự như các bảng dữ liệu khác, bạn cũng khai báo thủ tục nội tại cho phép người sử dụng thêm mới và cập nhật mẩu tin trong bảng ExportTypes như ví dụ UD-23-4

Trang 11

386 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng @Flag BIT, @ExportTypeTd CHAR (3) , @ExportTypeName NVARCHAR (10) AS TF @Flag = 0

INSERT INTO ExportTypes

VALUES (@ExportTypeld, @ExportTypeName) ELSE

UPDATE ExportTypes

SET Export TypeName = @ExportTypeName WHERE Export Typeld = @ExportTypeId GO

4.2.2 Bang ExportBatchs

Tương tự như bảng ImportBatchs, khi lam việc với bảng

ExportBatchs, bạn bắt đầu khai báo thủ tục nội tại dùng để liệt kê danh sách mẩu tin như ví dụ UD-24

é mau tin trong

CREATE PROC udsViewExportBatchs @ExportBatchNo CHAR (3)

AS

SELECT * FROM ExportBatchs WHERE

Export BatchNo = CASE @ExportBatchNo WHEN '' THEN Export BatchNo

ELSE @ExportBatchNo END

Go

Để cho phép liệt kê tất cả mẩu tin trong bảng ExportBatchs, bạn

Trang 12

Tuy nhiên, khi liệt kê một mẩu tin thì bạn khai báo tương tự như hình UD-24-1 udsViewExportBatchs 'EBI006' GO GG Resuts | [7 Messages | ExpottBatchNo ExpotBaichDale | ExportDiscontinued | EntryDate | Userttame L1 |EB06 ^ 1 2071020000000 0 2007-09-09 080400, khang Hình UD-24-1: Liệt kê một mẩu tin

Nếu cho phép người sử dụng xóa mẩu tin trong bảng ExportBatchs, bạn có thể khai báo thủ tục nội tại như ví dụ UD-24-1

Ví dụ UD-24-1: Khai báo xóa mẩu tin trong bang ExportBatchs| CREATE PROC udsDeleteExportBatchs

@ExportBatchNo VARCHAR (10) AS

DELETE FROM ExportBatchs WHERE

Export BatchNo = CASE @ExportBatchNo WHEN '' THEN ExportBatchNo

ELSE @ExportBatchNo END GO

Nếu người sử dụng muốn xóa một mẩu tin trong bảng ExportBatchs,

họ có thể khai báo gọi thủ tục nội tại udsDeleteExportBatchs như ví dụ UD-24-2 Ví dụ UD-24-2: Khai báo xóa một mẩu tin udsDeleteExportBatchs 'TBN000007! GO

Nếu bạn cung cấp giá tri réng cho tham sé @ExportBatchNo thi tha

tục nội tại sẽ xóa tất cả mẩu tin trong bảng ExportBatchs như ví dụ UD-24-3

Ví dụ UD-24-3: Khai báo xóa tất cả các mau tin|

udsDeleteExportBatchs '' GO

Bạn cũng khai báo thủ tục nội tại cho phép người sử dụng thêm mới

Trang 13

Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng

` áo thêm và e, nhật mầu tin CREATE PROC udsInsAndUpdExportBatchs @Flag BIT, @ExportBatchNo VARCHAR (10), @ExportBatchDate SMALLDATETIME, @ExportDiscontinued BIT AS IF @Flag=0 INSERT INTO ExportBatchs (ExportBatchNo, ExportBatchDate, ExportDiscontinued, EntryDate, UserName} VALUES (@ExportBatchNo, @ExportBatchDate, 0, GETDATE(}, CURRENT_USER) ELSE

UPDATE Export Batchs

SET ExportBatchDate = @ExportBatchDate, ExportDiscontinued = @ExportDiscontinued, UserName = CURRENT_USER WHERE Export BatchNo = @Export BatchNo Go 4.2.3 Bang Exports

Chúng ta có thể khai báo thủ tục nội tại cho bang Exports tương tự như bảng Imports Chẳng hạn, bạn cũng khai báo thủ tục nội tại dùng để liệt kê danh sách mẩu tín trong bang Exports nhu vi dy UD-25

CREATE PROC udsViewExports

@ExportNo VARCHAR (10) AS

SELECT * FROM Exports WHERE

ExportNo = CASE @ExportNo WHEN '' THEN ExportNo

ELSE @ExportNo END

GO

Nếu muốn liệt kê tất cả mẩu tin trong bang Exports, ban khai báo gọi

Trang 14

udsViewExports ' 100000103 ' 0000000 2007-10-11 00:00:00 E01 A0002 EX00000003 £81001 2071012000000 E01 A0003 4 EX00000004 EBIDI 2007-10-13 00:00:00 £01 A0001 Ex00000005 EBID02 2007-10-14 10:00:00 E01 A0004

EX00000006 EBIO02 2071014000000 E01 A0005

E⁄00000007 EBI003 2007-10-17 00:00:00 E01 A0006 400000008 EBID03 2007-1017 00.0000 E01 A0007 EX00000003 EBI004 2007-10-18 00:00:00 E01 A0008 EX00000010 EBID05 2071019000000 E01 A0001 EX00000011 EBI005 2071019000000 E01 A0002 Ex00000012 EBID 2007-10-20 000000 E01 A0001 EX00000013 EBIUOE 2071020000000 E01 A0005

Hình UD-2ð: Liệt kê mẩu tin trong bảng Exports

hi liệt kê một mẩu tin chỉ định trong bảng Exports thì bạn khai báo

tương tự như hình UD-25-1 udsViewExports 'Ex00000008' GO Reesuts | fy Messages! : j | EnporaichNo | EmportDate ExpotTypelD_ CustomeriD €BI003 2007-10-17 0:00.00 E01

Hình UD-25-1: Liệt kê một mẩu tin

Nếu cho phép người sử dụng xóa mẩu tin trong bảng Exports, bạn có

thể khai báo thủ tục nội tại như ví dụ UD-2ð-1 CREATE PROC udsDeleteExports @ExportNo VARCHAR (10) AS DELETE FROM Exports WHERE

ExportNo = CASE @ExportNo WHEN '' THEN ExportNo

Trang 15

340 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng Rhi người sử dụng muốn xóa một mẩu tin trong bang ExportTypes, họ có thể khai báo gọi thú tục nội tại udsDeleteExports như ví dụ UD-25-2 Ví dụ UD-25-2: Khai háo xóa một mẩu tỉn|

udsDeleteExports 'EBN000007' GO

Nếu bạn cung cấp giá trị rỗng cho tham số ®BxportNo thì thủ tục nội

tại sẽ xóa tất cả mẩu tin trong bảng Exports như ví dụ UD-25-3

Ví dụ UD-25-3: Khai báo xóa tất cả các mẩu tin|

udsDeleteExports ''

GO

Bạn cũng khai báo thủ tục nội tai cho phép người sử dụng thêm mới và cập nhật mẩu tín trong bắng Exports như ví du UD-25-4,

Ví dụ UD-25-4: Khai báo thêm và cập nị

CREATE PROC udsInsAndUpdExports @Flag BIT, @ExportNo VARCHAR (10}, @Export BatchNo VARCHAR ( 10), @ExportDate SMALLDATETIME, @ExportTypeld CHAR (3), @CustomerId CHAR (5}, @DescriptionInVietnamese NVARCHAR (150),

@Descript ionInSecondLanguage NVARCHAR (150)

GExportDiscont inued BIT

AS

IF @Flag = 0

INSERT INTO Exports

(ExportNo, ExportBatchNo, ExportDate, ExportTypelrd, CustomerId,

DescriptionInVietnamese,

DescriptionInSecondLanguage,

Export Discontinued, EntryDate, UserName) VALUES (@ExportNo, @ExportBatchNo,

Trang 16

DescriptionInSecondLanguage = @DescriptionInSecondLanguage, ExportDiscontinued = @ExportDiscontinued, UserName = CURRENT_USER WHERE ExportNo'= @ExportNo GO 4.2.4 Bang ExportDetails

"Tương tư như phần nhập kho, khi làm việc với phần xuất kho chúng

ta có hai bảng dữ liệu chính là Exports và ExportDetails Để quản lý dữ liệu bảng ExportDetails, bạn khai báo thủ tục nội tại dùng để liệt kê danh sách mẩu tin trong bảng ExportDetails dựa trên ba cột dữ liệu ExportNo, ProductId va OrdinalNumber như ví dụ UD-26 CREATE PROC udsViewExportDetails @ExportNo VARCHAR (10), @ProđuctTD VARCHAR (10), @Orđina1Number TINYINT AS

SELECT * FROM ExportDetails WHERE ExportNo = @ExportNo

AND OrdinalNumber = CASE @OrdinalNumber WHEN 0 THEN OrdinalNumber

ELSE @OrdinalNumber END AND Product ID = CASE @ProductID

WHEN '' THEN ProductID ELSE @Product ID END GO

Để cho phép người sử dụng liệt kê tất cả mẩu tin trong bảng

ExportDetails, bạn khai báo gọi thủ tục nội tại udsViewExportDetails như hình UD-26 udsViewExportDetails 'EX000A0001','',0 ‹ Cả Resie LỦ) Messages _ OiđnaNumbe ExpotNo ProduelD Stock Quanhy - Ta E00000001 P00001 ST001 100 2 1 E%00000001 P00002 §T001 200

Hình UD-26: Liệt kê mẩu tin trong bảng ExportDetails

Trang 17

342 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng udsViewExportDetails 'EX00D00001', 'P00001!' ,24 GO exoooo0001 Pood stool 100

Hình UD-26-1: Liệt bê một mẩu tin

Do mỗi khi người sử dụng xóa mẩu tin trong bảng Exports thì những mẩu tin liên quan trong bảng ExportDetails sẽ tự động xóa theo, cho nên chúng ta chỉ khai báo thủ tục nội tại để xóa một mẩu tin trong bảng

ExportDetails với cấu trúc như ví dụ UD-26-1

Ví dụ UD-26-1: Khai báo xóa mẩu tỉn trong ExportDetails|

CREATE PROC udsDeleteExportDetails

@ExportNo VARCHAR (10),

@ProductID VARCHAR (10),

@OrdinalNumber TINYINT AS

DELETE FROM ExportDetails WHERE ExportNo = @ExportNo

AND OrdinalNumber = @OrdinalNumber

AND ProductID = @ProductID GO

Khi xóa tất cả mẩu tin trong bang ExportTypes cia phiếu xuất

EX00000001, ban cé thể khai báo gọi thủ tục nội tại udsDeleteExportDetails

như ví dụ UD-26-2

Ví dụ UD-26:2: Khai báo xóa mẩu tỉn|

udsDeleteExportDetails ' Ex00000001' , +! +0 GO

Tương tự như trường hợp thêm mới hay cập nhật bảng Exports, bạn cũng khai báo thủ tục nội tại cho phép người sử dụng thêm mới và cập nhật mẩu tin trong bảng ExportDetails như ví dụ UD-26-3

r Khai báo thêm và cập nhật rhẩu tỉn|

Trang 18

@QuantiEy DECTMAL (18,0) AS IF @Flag =0 INSERT INTO ExportDetails (OrdinalNumber, ExportNo,

ProductID, StockId, Quantity) VALUES (@OrdinalNumber, @ExportNo,

@ProductID, @StockId, @Quantity} ELSE

UPDATE ExportDetails SET StockId = @StockId, Quantity = @Quantity

WHERE ExportNo = @ExportNo

AND OrdinalNumber = @OrdinalNumber AND ProductID = @ProductID

GO

Do mỗi lần thêm mẩu tin vào bảng ExportDetails, người sử dụng cần

cập nhật (giảm) số lượng trong bảng ProductInStocks, do đó bạn cần khai báo Trigger như ví dụ UÐ-26-4

Ví dụ UD-26-4: Khai báo Trigger cho trường hợp thêm mẩu tỉn v: ; ExportDetailsl CREATE TRIGGER triInsExportDetails ON ExportDetails FOR INSERT AS

DECLARE @ProductId VARCHAR (10) DECLARE @StockId CHAR (3}

DECLARE @Quantity DECIMAL (18,0) SELECT @ProductId= Productid,

@StockId = StockId, @Quantity = Quantity FROM INSERTED

UPDATE Product InStocks

SET GoodProduct InStock =

GoodProduct InStock ~ @Quantity

WHERE Product Id=@Productid AND StockId=@StockId

GO

Trang 19

8? 344 Úng dụng: Sử dụng thủ tục nội tại trong ứng dụng

DECLARE @StockId CHAR (3) ` DECLARE @Quantity DECIMAL (18,0} SELECT @ProductIds ProductId,

@StockId = StockIda, @Quantity = Quantity FROM DELETED

UPDATE Product InStocks SET GoodProduct InStock =

GoodProduct InStock + @Quantity WHERE Product Id=@ProductId AND StockId=@Stockid

GO

hi người sử dụng cập nhật số lượng nhập trong bảng ExportDetails,

chúng ta cần xét hai trường hợp, nếu người sử dụng cập nhật số lượng nhỏ hơn số lượng hiện hành thì chúng ta thực hiện phép toán cộng để tăng lên

và trường hợp ngược lại thì phép toán trừ để giảm số lượng trong cột GoodProductInStoek của sản phẩm của kho đó

Để làm điểu này, bạn cẩn khai báo lại thủ tục nội tại có tên

udsInsAndUpdExportDetails thay vi sit dụng đối tượng Trigger như trường

hợp thêm hay xóa mẩu tin trong bang ExportDetails @Flag BIT, @ExportNo VARCHAR(10), @ProductID VARCHAR (10), @OrdinalNumber TINYINT, @StockId CHAR(5), @Quantity DECIMAL (18,0) AS IF @Flag = 0 INSERT INTO ExportDetails (OrdinalNumber, ExportNo,

Product ID, StockId, Quantity) VALUES (@OrdinalNumber, @ExportNo,

@ProductID, @StockId, @Quantity} ELSE

BEGIN

DECLARE @CurrentQtty DECIMAL (18 70) DECLARE @UpdateQtty DECIMAL (18,0) SELECT @CurrentQtty = Quantity FROM ExportDetails

WHERE ExportNo = @ExportNo

AND OrdinalNumber = @OrdinalNumber

AND Product ID = @ProductID; UPDATE ExportDetails

Trang 20

WHERE ExportNo = @ExportNo

AND OrdinalNumber = @OrdinalNumber AND Product ID = @Product ID;

SET @UpdateQtty = @Quantity - @CurrentQtty

UPDATE Product InStocks SET GoodProduct InStock =

GoodProduct InStock - @UpdateQtty

WHERE Product Id=@ProductId AND StockId=@StockId

END GO

Khi người sử dụng có nhu cầu liệt kê số lượng nhập theo sản phẩm, bạn có thể khai báo thủ tục nội tại như ví dụ UD-26-7

CREATE PROC I5 u165Exoost.DyEroduete

@Product ID VARCHAR (10)

AS

SELECT ProductNameInVietNamese, P.ProductID,

SUM(Quantity) As TotalQuantity FROM Products P, ExportDetails D WHERE P Product ID = D Product ID AND D Product ID = CASE @ProductID

WHEN '' THEN D ProductID ELSE @ProductID END

GROUP BY ProductNameInVietNamese, P.ProductID

ORDER BY Product ID GO

Bạn có thể gọi thủ tục nội tại udsViewExportByProducts bằng cách

truyền giá trị cho tham số @ProduetID là rỗng hay mã sản phẩm cụ thể như hình UD-26-2 T udsViewExportByProducts ''

Trang 21

346 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng

4.3 Tình hình tồn kho

Sau khi khai báo thủ tục nội tại cho phần nhập và xuất kho, chúng ta

tiếp tục tạo các thủ tục nội tại dùng để thống kê tình hình tên kho,

Để làm điều này, trước tiên bạn khai báo thủ tục nội tại cho phép

thống kê số lượng nhập và xuất trong kỳ cùng với số lượng cân đối theo từng

mã sản phẩm bằng cách sử dụng biểu thức bảng như ví dụ UD-27 Ví dụ UỊ CREATE PROC udsICBalance @ProductId VARCHAR (10) AS WITH ImportAndExport AS ( SELECT ProductId, SUM(Quantity) AS Import, 0 As Export FROM ImportDetails

WHERE ProductId = CASE @ProductIa WHEN '' THEN ProductId

ELSE @Productid END GROUP BY ProductId UNION ALL

SELECT ProductId, 0 As Import, SUM(Quantity) AS Export FROM ExportDetails

WHERE ProductId = CASE @ProductId WHEN '' THEN Productid

ELSE @ProductId END GROUP BY ProductId ) SELECT P.ProductId, ProductNameInVietnamese, SUM(Import) As ImportQuantity, SUM(Export) As ExportQuantity,

SUM(Import - Export) AS BalanceQuantity FROM Products P, ImportAndExport IE WHERE P ProductId = IE ProductId AND P ProductIid = CASE @ProductIda

WHEN '' THEN P ProductId ELSE @ProductId END

GROUP BY P.ProductId, ProductNameInVietnamese ORDER BY P ProductId

GO

Bạn có thể gọi thủ tuc ndi tai udsICBalance véi giá trị là rỗng cho

tham sé @ProductId thì danh sách sản phẩm cùng với tổng số lượng nhập

Trang 22

Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng 347 M udetcpatence | 1800 = Túsách dừng do bạc hư —— 120 0 Tú sách ngchohẹcshnam 700 fd Téigomda 0 zm TWh dng cho My tinh zm 10 1g Tú sách dừng cho Đện hạ đđộng 380 0 z0 Th ding cho PC seo ° xo

Hình UD-37: Thống kê số lượng nhập uà xuất

Lưu ý: Nếu bạn gọi thủ tục nội tại udsICBalance với mã sản phẩm cụ thể nào đó cho tham sé @ProductId thi két quả trình bày tương tự như hình UD-27-1 udsTCBalance 'P00002' Productid,_ProductNamelrVietnamese, 6 BalenceQuantty | 1 Tứ xách ding cho hoc sinh nf) 1200 750 450

Hình UD-27-1: Thống kê số lượng nhập uù xuất của sản phẩm P00002 Để tính tổn kho trong tháng hiện hành, bạn có thể khai báo thủ tục nội tại có tên ICStatus với cấu trúc như ví dụ UD-27-1 CREATE PROC ICStatus @MonthYear CHAR (7) AS WITH ICTable AS (

Trang 23

pa’ 348 Ung dụng: Sử dụng thủ tục nội tại trong ứng dụng FROM CloseInventoryControl WHERE CloseMonth = @MonthYear ) SELECT P.ProductID, ProductNameInVietnamese, SUM(BeginQuantity) As BeginQuantity, SUM(Import) As ImportQuantity, SUM(Export) As ExportQuantity, SUM(BeginQuantity) + SUM(Import) - SUM(Export) As EndQuantity FROM Products P LEFT JOIN ICTable I ON P Product ID = I Product ID

GROUP BY P.ProductID, ProductNameInVietnamese ORDER BY P.ProductID, ProductNameInVietnamese

GO

Bạn có thể gọi thủ tục nội tại ICStatus với giá trị 09/2007 cho tham số ®MonthYear thì kết quả trình bày như hình UD-27-2 Ý ICStatus 909/20071| | 60

00002 —_Taixéch ding che hoe sh rid 20 “0

P3 Tuixéch ding cho hoe snhnam 65D 70 65 7

PHO Ti dome “0 “0 1 om

PO000S Tui xdch ding cho Mati 300 2m 130 “0 1.8 POOODS Tiixdch ding cho Big thopi d déng 460 0 0 7a [7 P0007 Tú»áhdmpdorc 1150 300 0 280 |8 P0 TéixSch ding cho TV Hinh UD-27-2: Tinh hinh tén kho NULL

Trong trường hợp tính tổn kho cho một sản phẩm thi bạn có thể khai

báo thủ tục nội tại với cấu trúc như ví dụ UD-27-9 CREATE PROC ICStatusForProduct @ProductId VARCHAR (10), @MonthYear CHAR (7) AS WITH ICTable AS (

Trang 24

WHERE ProductId = @ProductId GROUP BY ProductID UNION ALL SELECT ProductID, 0, 0, SUM(Quantity) AS Export FROM ExportDetails WHERE ProductId = @ProductId GROUP BY Product ID UNION ALL SELECT ProductID, EndQuantity , 0, 0 FROM CloseInventoryControl WHERE ProductId = @ProductId AND CloseMonth = @MonthYear ) SELECT P.ProductID, ProductNameInVietnamese, SUM(BeginQuantity) As BeginQuantity, SUM(Import) As ImportQuantity, SUM(Export) As ExportQuantity, SUM (BeginQuantity) + SUM(Import) - SUM(Export) As EndQuantity FROM Products P LEFT JOIN ICTable I ON P Product ID = I Product ID WHERE P ProductId = @ProductId

GROUP BY P.ProductID, ProductNameInVietnamese ORDER BY P.ProductID, ProductNameInVietnamese GO

Bạn có thể gọi thủ tục nội tại ICStatusForProduct với giá trị 09/2007

cho tham số ®@MonthYear và P00001 cho tham số @Productld thì kết quả

trình bày như hình UD-27-3 [im tae | ProductlD | ProductNamelnVietnamese | BeginQuantity | ImportQuantity | ExportQuantity | EndQuantity | 20 ‘ 1500 515 125

Hình UD-27-8: Tình hình tôn kho của sản phẩm P00001

Trong trường hợp bạn muốn thống kê tình hình tồn kho của một kho

Trang 25

350 Ứng dụng: Sử dụng thủ tục nội tại trong ứng dụng

SELECT StockTd, ProductID, 0 as BeginQuantity,

SUM(Quantity) AS Import, 0 As Export

FROM ImportDetails

WHERE ProductId = CASE @ProductId WHEN '' THEN ProductId

ELSE @Productid END AND StockId = @StockId GROUP BY StockId, ProductID UNION ALL

SELECT StockId, ProductID, 0, 0, SUM (Quantity) AS Export

FROM ExportDetails

WHERE Productid = CASE @ProductId WHEN '' THEN ProductId

ELSE @ProductId END AND StockId = @StockTd GROUP BY StockId, ProductID UNION ALL

SELECT StockId, ProductIb, EndQuantity , 0,0 FROM CloseInventoryControl

WHERE ProductId@ = CASE @ProductId WHEN '' THEN ProductId

ELSE @ProductId END AND StockId = @StockId AND CloseMonth = @MonthyYear ) SELECT Stockid, P,ProductID, ProductNameInVietnamese, SUM(BeginQuantity) As BeginQuantity, SUM(Import) As ImportQuantity, SUM(Export) As ExportQuantity, SUM(BeginQuantity) + SUM(Import) ~ SUM(Export) As EndQuantity FROM Products P LEFT JOIN IcTable I ON P Product ID = I ProductID

WHERE P ProductId = CASE @ProductId WHEN '' THEN P Productid

ELSE @ProductId END AND StockId = @StockId

GROUP BY StockId, P.ProductID, ProductNameInVietnamese

ORDER BY P.ProductID, ProductNameInVietnamese Go

Trang 26

ICStatusForProductandStock '', '5T001', '08/2007! | Go valiant arses TH ews [Ey Moses]

| Stockld ProductiD | ProductNamel

11 [sion POO! Tuixéch

[2 STOO PO0002 Tú»áchdờmgchohoeerhrl 150 1080 685 (3 SIUUI PIUW3 Tứxáhdờngchohoesmhnan 300 700 625 [4 SI0U P0004 Tứáomua 30 400 1

(5 $ST001 P0005 Tứi xách dùng cho Máy tính 150 200 125

[6 STOO! PO0006 TứwáchdngchoĐiệnthog 450 0 0 L7 ST00 P0007 Tui xéch ding cho PC 500 0 0

Hình UD-27-4: Tình hình tôn kho theo mã kho

Để tìm hiểu cách sử dụng các thủ tục nội tại của cơ sở dữ liệu

AccountSystem với ngôn ngữ lập trình C# 2005, bạn có thể tìm đọc tập: “Xây dựng ứng dụng kế toán bằng C# 2005 và SQL Server 2005”

5 KẾT CHƯƠNG

"Trong phần này, chúng ta đã tập trung tìm hiểu cách khai báo các thủ

tục nội tại, hàm và Trigger dùng trong ứng dụng kế toán ở mức độ tham khảo

Trong tập kế tiếp, bạn sẽ tiếp tục tìm hiểu phần lập trình nâng cao

bằng CURSOR, TRANSACTION và các dịch vụ cùng với các hàm cũng như

Trang 27

fale LAP TRINH : 1 Bài tập ngôn ngữ C từ A dén Z 2 Giáo trình lý thuyết và bài tập ngơn ngữ © (Tập 1 & 2] 3 Thiết kế đổ họa định hướng đối tượng với 4 Đồ họa vi tính {Tập 1 & 2] 5 Hợp ngữ và lập trình ứng dụng [Tập 1 & 2] 6 Trí tuệ nhân tạo mạng Nơron - Phương pháp và ứng dụng

7 Trí tuệ nhân tạo - Cấu trúc dữ liệu +

“Thuật giải di truyền = Lập trình tiến hóa 8 Trí tuệ nhân tạo - Máy học

9 Giáo trình lý thuyết và bai tap Pascal [Tập 1 & 2] 16 Giáo trình lý thuyết và bài tập Pascal toàn tập „ Giáo trình lý thuyết và bài tập Foxpro [Tap 1]

12 Sử dụng và khai thác Visual Foxpro 6.0 13, Visual Foxpro va SQL Server

14 Ty hoc lap trinh co sé dit ligu véi Visual Basic 6 trong 21 ngày [Tập 1 & 2] 18 Bước đâu làm quen lập trinh Visual

Basic 6.0 (tủ sách dé học)

16 Visual Basic 6.0 - Lập trình cơ sở dữ liệu

1? Tham khảo nhanh Visual Basic 6 18 Kỹ xảo lập trình VB6 19 Giáo trình nhập môn lập trình VB6 20 Các kỹ xão lập trình với Visual Basic 6 và Borland Delphi „ Giáo trình lý thuyết và bài tập Borland Delphi

22 Borland Pascal Version 7.0 - Quyển 1 & 2 #3 Giáo trình lý thuyết và bài tập Visual J**6 24 Visual Basic Net - Kỹ xảo lập trình 2

1

3:

& Ty hoc lép trinh chuyên sâu Visual Basic NET trong 21 ngày

26 Kỹ thuật lập trình ứng dung chuyên nghiệp Visual Basic Net [Tap 1 va 2} 2? Từng bước học lập trình Visual Basic NET 28 Ví đụ và bài tập Visual Basic NET -

Lập trình hướng đối tượng

29 Ví dụ và bài tập Visual Basic NET - Lập trình Windows Forms và tập tin 30 Ví dụ và bài tập Visual Basie NET -

Lập trình cơ sở đữ liệu & Report

8

SACH DA XUAT BAN

31 Visual Basic 2005 - Tập 1: Ngôn ngữ và ứng dụng

32 Visual Basic 2005 - Tap 2: Lap trinh

giao dién Windows Forms - Ung dung

quan ly hé théng

33 Visual Basic 2008 - Tap 3 - Quyén 1: Lập trình cơ sở đữ liệu với ADO.NET 9.0 34 Visual Basic 2005 - Tập 3 - Quyển 3:

Lập trình Web với cơ sở dữ liệu 36 Visual Basic 2005 - Tập 4, Quyển 1 & 2:

Crystal Reports Developer 36 Visual Basic 2005 hoe lép trinh

Windows Forms qua ví dụ (tủ sách dễ học) - Lập trình C8DL với Visual Basic 2005

và ADO,NET 2.0 (tủ sách dé học)

38, Sit dung Crystal Reports XI

39 Từng bước học lập trình Visual C“Net

40 Kỹ thuật lập trình ứng dụng Cf.Net toàn

tập [Tập 1, 2 và 3]

C# 2005 - Tap 1: Lập trình cơ ban C# 2005 - Tap 2: Lap trình Windows Forms 43 C# 2005 - Tập 3: Lập trình hướng đối tượng 44 C# 2005 - Tập 4, Quyển 1: Lập trình cơ sở đữ liệu 45 C# 2005 - Tập 4, Quyển 2: Lập trình cơ sở đữ liệu, Report, Visual SourceSafe 2005

46, C# 2005 - Tap 5: Lap trinh ASP.NET 3.0 - Quyển 1; Điều khiến trình chủ ASP.NET 2.0

47 C# 2005 - Tap 5: Lap trinh ASP.NET 3.0 - Quyển 2: Điều khiển trình chủ đặc biệt và đối tượng ASP.NET 2.0

48 C# 2005 - Tap 5: Lap trinh ASP.NET 2.0 - Quyển 3: Điều khiển kết nối cơ sở dữ liệu 49 # 200B - Tap 5: Lap trinh ASP.NET 2.0 - Quyển 4: Đối tượng ADO.NET 2.0 & XML 50 C# 2008 - Tập 6: Xây dựng ứng dụng

tuyển dụng nhân sự trực tuyến bằng ASP.NET 2.0 va SQL Server - Quyển 1:

Các chức năng đành cho người xin việc C# 2005 - Tập 6: Xây dựng ứng dụng tuyển dụng nhân sự trực tuyến bằng ASP.NET 2.0 va SQL Server - Quyén 2:

Trang 28

5ä 54 55 5 57 58 59 60 6 6: 8? 6 64 6ã 66 67 68 69 70 1 72 73 T4 75 76 TT 78 79, 80 8 P a Xây dựng ứng dụng Windows với C**.Net [Tập 1 & 2] Từng bước học lập trình Visual C** Net 'Tự học lập trình Visual Ct MFC qua các ví dụ

Access 2000 lap trinh tmg dung cơ sở dữ ligu [Tap 1 & 2]

Tự học Microsoft Access 2002 trong 21 ngay Phát triển ứng dụng bằng Microsoft Access 2002 (Tap 1 & 2] XML - Nền tăng và ứng dung Giáo trình nhập môn XML (tủ sách dễ học) Lập trình SQL căn bản Lập trình ứng dụng chuyên nghiép SQL Server 2000 [Tập 1 & 2] Khám phá SQL Server 2005 (tủ sách dễ học)

SQL Server 2005 - Lap trinh T-SQL SQL Server 2005 - Lap trinh thủ tục và ham Giáo trình nhập môn ASP - Xây dựng ứng dụng Web (tủ sách dễ học) Giáo trình nhập mén PHP & MySQL - Xây dựng ứng dụng Web (tủ sách đễ học) $6 tay PHP & MySQL Xây dựng ứng dụng Web bằng PHP và MySQL St dung PHP va MySQL - Thiết kế Web động Giáo trình lý thuyết và thực hành Oracle (lập trình)

PL/SQL Oracle (Tap 1 & 2]

Oracle 91 Developer: Phat trién img

dung Web véi Forms Builder

Thanh thgo Oracle 9: - Quan tri co sé dir ligu [Tap 1 & 2)

Bước đầu làm quen Java (tủ sách dé học)

Bước đầu học VB6 qua các ứng dung Form (tủ sách dễ học)

Giáo trình lý thuyết và bài tập Java Cấu trúc dữ liệu với Java Java lập trình mạng Java [Tập 1, 2 & 3] Mã hóa thông tín với Java - Tập 1: Java căn bản - Tập 2: Mã hóa - Mật mã 83 84 85 86 87 Nhập môn J# (tủ sách dễ học) Giáo trình nhập môn UML Họ vi điều khiển 8051 Thiết kế hệ thống với họ 8051 Nguyên lý mạch tich hop - Tap 1: ASIC Lập trình được - Tập 2: Lập trình ASIC Giáo trình mã hóa thông tin: Lý thuyết và ứng dung Lập trình Windows Lập trình mạng trên Windows Lập trình Linux [Tập 1] DirectX và lập trình cho Camera Design Patterns Giáo trình nhập môn cơ sở dữ liệu (Tủ sách dễ học) ActionSeript 2.0 - Lập trình hướng đối tượng Lập trình ActionSeript cho Flash [Tập 1 &2]

97 Lập trình trò chơi với Flash [Tập 1 & 2] 98 Lý thuyết cơ sở đữ liệu [Tập 1 & 2]

INTERNET & VIỄN THÔNG

99 Hướng dẫn sử dụng Internet [Tập 1 & 2]

100 Internet cho mọi người 101 102 193 88 89 90 91 92, 93 94, 95 98

Tnternet cho mọi nhà Internet Explorer 5 toàn tập Internetworking véi TCP/IP [Tap 1 - phần 1, phần 2; Tập 2] Thực hành thiết kế trang Web với FrontPage 2000 Thuc hanh thiét ké trang Web vdi FrontPage FrontPage 2000 toàn tập E-mail va tin hoc van phòng trên mạng với Outlook 2000 Hướng dẫn thiết kế trang Web tương tác bằng JavaScript

Thực hành JavaScript (cho Web)

Thiết kế Web động với JavaScript Số tay HTML & JavaScript

Tự học JavaScript (tú sách dễ học) Hoe nhanh JavaScript bằng hình ảnh

(tủ sách đễ học)

“Tuyển tap thủ thuật JavaScript [Tap 1&2]

Trang 29

116, 117 118 119 120 121 122, 123 124, 125 126 127, 128 129, 130, 131 132 133 134, 135 136 137 138 139, 140 141 142 143 144 145, 146 147 Su dung DHTML va CSS thiét ké Web dong Tạo Website hấp dẫn với HTML, XHTML va CSS Các thủ thuật trong HTML & thiết kế Web

Sir dung Peri va CGI thiết kế Web động Thiét ké Web v6i JavaScript va DOM

Thiết kế Web với Macromedia Dreamweaver 4.0

Thiết kế Web với C88

Học thiết kế Web bằng hình minh hea {Tập 1 & 2] Tự học thiết kế Web [Tập 1 & 2] Macromedia Dreamweaver MX Macromedia Dreamweaver MX 2004 Học nhanh Dreamweaver 8 (tủ sách dễ học) Macromedia Dreamweaver 8 - Phần cư ban [Tập 1 & 2] Macromedia Dreamweaver 8 - Phần nắng cao Macromedia Flash MX Macromedia Flash MX 2004 Học nhanh Flash 8 (tủ sách dễ học) Maeromedia Flash 8 [Tập 1 & 2] “Thiết kế Flash với các thành phần dựng sẵn Các kỹ thuật ứng dụng trong Flash và Dreamweaver Các thủ thuật trong Flash va Dreamweaver Tự học Flash (tủ sách đã học) ASP 3.0/ASP.NET

Giáo trình lập trình Web bằng ASP 3.0 Xây dựng ứng dụng web với JSP,

serviet, JavaBeang

Lập trình ứng dụng web với JSP/ Serviet Xây dựng & triển khai ứng dụng thương mại điện tử [Tập 1 & 2] Modem truyền số liệu

Co sé kỹ thuật chuyển mạch và tổng

đài [Tập 1 & 2]

Kỹ thuật truyền số liệu

Rỹ thuật điện thoại qua IP & Internet Vi mach và mạch tạo sóng 148 149 180 151 152 153

Xử lý tín hiệu số - Lý thuyết và bài tập

Ky thuat số: Lý thuyết và bài tập Thiết kế mạch số với VHDT, & Verilog

[Tập 1 & 2]

Thiét ké vi mach CMOS VLSI [Tập 1 & 2]

Blog cho moi người [Tập 1 & 2] Google [Tập 1 & 2] THIẾT KẾ ĐỒ HỌA 154 155 168 169 170 171, 172 173 174 175 176 177 178 179 180 181 182 183 Thiét ke

Thiết kế 3 chiều với 8D§ Max 4 Tạo các hiệu ứng tự nhiên trong 3D§ Max 3DS Max 5 3DS Max 6 3DS Max 7 3DS Max 8 Tự học 8D§ Max

Oác thủ thuật trong 8D8 Max Sử dụng 3D8 Max thiết kế mô hình

Vé minh hoa véi CorelDraw 9 Vé minh hoa véi CorelDraw 10 (Tập 1, 2 & 3]

CorelDraw 11

Autocad 2000 [Tap 1 & 2]

chiêu với 8D Studio Max 8

nhân vật

Sử dụng 3DS Max thiết kế hoạt hình nhân vật

Thiết kế game trong 3DS Max

Thiết kế khung xương cho hoạt cảnh nhân vật

Làm phim với 8D§ Max - Từ ý tưởng đến thành phẩm

Thiết kế ánh sáng trong 3DS Max Adobe Photoshop 5.5 va ImageReady 2.0 Adobe Photoshop 6.0 va ImageReady 3.0 Adobe Photoshop va ImageReady 7.0 [Tập 1 & 2) Adobe Photoshop CS & ImageReady - [Tap 1] Adobe Photoshop CS & ImageReady [Tập 1] (Ấn bản màu) Adobe Photoshop bài tập và kỹ xảo Adobe InDesign Adobe Tilustrator 8.0

Adobe IIlustrator với các kỹ thuật

thiết kế nâng cao

Các kỹ thuật tiên tiến trong

Macromedia Direetor 8.5 [Tập 1] Thiết kế kiến trúc với Autodesk Architectural Desktop 2004 [Tập 1 & 2]

Thiết kế hoạt hình cho web với

Trang 30

186 Thiết kế trò chơi với Flash

187 Thiết kế 3D trong Flash (Tập 1 & 2] 188 VIZ Render 189 Tự học AutoCAD - Thiết kế 2D (tủ sách dễ học) 190 Tự học AutoCAD - Thiết kế 3D (tủ sch dé hoc) HE pif HANH VÀ MẠNG 191 Vận hành và khai thác Windows 98 192 Làm chủ Microsoft Windows XP

professional [Tap 1 & 2] 193, Hướng dẫn Tri pan Windows XP 194 Làm chủ Windows 2000 Server [Tập 1 & 2] 195 Windows 2000s - Cai dat & Quần trị 196 Làm chủ Windows Server 200đ [Tập 1,2&3] 197 Giáo trình mạng Novell Netware 5.0 198 Giáo trình SQL Server 2000 (tủ sách đễ học)

199 Quan tri SQL Server 2000

200 Tự học SQL Server 2000 trong 21 ngày

301 Giáo trình lý thuyết và thực hành

Linux [Tập 1]

202 Linux - Tự học trong 24 giờ

203 Bảo mật và tối du trong Red Hat Linux 204 Mạng máy tính [Tập 1]

205 Giáo trình cấu trúc máy tính 206 Tìm hiểu cấu trúc và hướng dẫn sửa

chữa, bảo trì máy PC [Tập 1, 2 & 3] 207 Giáo trình hệ thống mạng máy tính

CCNA [Semester 1, 2, 3 & 4]

208 Bài tập tự luyện CCNA trên máy tính cá nhân

209 Những điều bạn chưa biết về Windows

Registry

210 Windows Script Host

211 Nhập môn Windows Vista [Tập 1 & 2]

VĂN PHÒNG

212 Ứng dụng mà nguồn mở - Tập 1:

Windows trong Linux - Tập 2: Word trong Linux - Tap 3: Excel trong Linux 213 Dé hoa va multimedia trong van phòng với MS PowerPoint 2000 914 Giáo trình lý thuyết và thực hành tin học văn phòng - Tập 1: Windows XP (tủ sách dễ học) 216: 217 218 219 220 221 học văn phòng - Tập 2: Word XP (tủ sách dễ học) Giáo trình lý thuyết và thực hành tin học văn phòng - Tập 3: Exeel XP - Quyển 1 & 2 (tủ sách đễ học) Giáo trình lý thuyết và thực hành tin học văn phòng - Tập 4: PowerPoint XP - Quyển 1, 2 & 3 (tủ sách đễ học) Giáo trình tin học phổ thông ICDL - học phần 1 & 2 Giáo trình tin học phố thông IƠDL - học phần 3, 4 & 5 Microsoft Access cin ban Giáo trình chứng chỉ B tín học - Microsoft Access 2003 [Tập 1 & 2] THỂ LOẠI KHÁC 222 223 224 225 226 227 228 229 230, 231 232 233 234 285 236 237 338 239 240 Hệ thống bài tập kế toán tài chính - Tập 1

Hệ thống bài tập kế toán đại cương Từ điển từ mới Tiếng Việt

Từ điển Tiếng Việt phổ thông Từ điển Ảnh - Việt (Ấn bản sinh viên) Từ điển kinh tế ứng dụng Anh - Việt (Từ A đến 7)

Từ điển thành ngữ - Tục ngữ - Ơa dao Việt Nam {Quyển Thượng - Quyển Hại

Giáo trình toán giải tích 1 “Toán tổ hợp

Bảo mật thông tín - Mô hình và ứng dụng

Giáo trình quy hoạch tuyến tính Giáo trình toán rời rạc

Phương pháp mới học toán đại học

Nghỉ thức thư tín thương mại quốc tế

Giáo trình thư tín trong thương mại

quốc tế

Giáo trình thư tín trong thương mại quốc tế (Textbook*)

Người làm chứng (Song ngữ Ảnh - Viet) Người bạn dich thuc (Song ngữ Anh —

Việt)

Đừng xem mặt mà bắt hình dong

(Song ngữ Anh - Việt) Sổ tay người dịch tiếng Anh

56 Bài luyện dịch Anh-Việt, Việt-Anh Những vụ việc tranh chấp trong giao

Trang 31

SQL SERVER 2005

Lập trình thủ tục và hàm

NHÀ XUẤT BẢN LAO ĐỘNG - XA HỘI

Ngõ Hòa Bình 4 - Minh Khai - Hai Bà Trưng - Hà Nội Tel: (04) 6.246.913 — Fax: (04) 6.246.915,

Chịu trách nhiệm xudt bén: VO ANH TUAN

Biên tập: BẢN BIÊN TẬP GIÁO TRÌNH DẠY NGHỆ Biên sogn: PHAM HUU KHANG ~ ĐOÀN THIỆN NGÂN

Sua ban in: NGOC AN

Trình bày bìa: VIỆT DŨNG

Thực hiện liên đoanh: Công ty TNHH Minh Khai 8.G

E-mail: mk.book@minhkhai.com.vn — Website: www.minhkhai.eom.vn Tổng phát hành # Nhà sách Minh Khai: 249 Nguyễn Thị Minh Khai - Quận 1 - TP.HCM DT: (08) 9.250.590 ~ 9.250.591 — Fax: (08) 9.257.837 # Nhà sách Minh Châu: Nhà 30 - Ngõ 22 - Ta Quang Bitu - Bách Khoa - Hà Nội ĐT: (04) 8.692.785 - Fax: (04) 8.683.995 Đại lý các khu vực * Nhà sách Huy Hoàng: 95 Núi Trúc - Kim Mã - Ba Đình - Hà Nội ĐT: (04) 7.365.859

# Cty cổ phần sách thiết bị trường học Đà Nẵng: 78 Bạch Đằng - Đà Nẵng ĐT: 0511.837100 % Nhà sách Chánh Trí: L16A Nguyễn Chí Thanh - Đà Nẵng

ĐT: 0511.820129

$$ Cty phát hành sách Khánh Hòa:

> Nhà sách Ponagar: 73 Thống Nhất - Nha Trang - Khánh Hòa ĐT: 058.8226386

> Siêu thị sách Tân Tiến - 11 Lê Thành Phương - Nha Trang - Khánh Hòa ĐT: 058.8273083 # Nhà sách Năm Hiển: 79/6 Xô Viết Nghệ Tĩnh - TP.Cần Thơ

ĐT: 071 821668

In 1000 cuốn (kèm CD bai tập), khổ 16 x 24 em,

tại Xí nghiệp in Machinco - Số 21 Bùi Thị Xuân, Q.1, TP.HCM

Số đăng ký kế hoạch xuất bản: 103-2007/CXB/40-17/LĐXH

Mã số — Quyết định xuất bản số 947/QĐ-NXB LĐXH ngày 20/11/2007

Trang 32

Tạo các HIEU UNG TY NHIEN tong So ma Tu hoc FLASH 3dsmax7

Tu boc AutoCAD QED

Lam phim vai 3DS MAX

ActionScript2.0

LẬP TRÌNHHƯỚNG ĐỐI TƯỢNG

Te hoc AutoCAD CIEE macromedia gi z FLASH6 lập1, 2] 9 'Ö_ PHÁN cơ BẢN [tap 1, 2] L4p trinh ActionScript cho FLASH {tap 1,2] Thiết kế TRÒ CHOI véi FLASH AUTODESK 3DS MAX8 macromedia 6

8 Thiết kế web vơi JavaScript & DOM

a Thiét ké web vdi CSS

© the kế khung xương cho hoạt cảnh nhân vật

FA rover tap THU THUAT JAVASCRIPT (tập 1,2] UEFE 8 ơ ô f đ= (I) RB f Eq 6è Mỹ Giới thiệu một só sách đã xuất bàn: TỰ HộC THIẾT KẾ €2}, [lập 1,2] Thiết kế Game trong 3DS MAX

HỌC THIẾT KẾ WEB bằng hnh minh hoa

[tập 1,2]

BLOG cho mọi người ltập1,2]

GIÁO TRÌNH CHỨNG CHỈ B TIN HOC Microsoft Access 2003 [tap 1, 2]

Thiét ké 3D trong FLASH [tép 1, 2) Thiét ké vi mach CMOS VLSI {tap 1, 2] Tu hoc 3DS MAX

Nhap mon Windows Vista twp 1,2)

Hướng dấn sử dụng INTERNET

[tap 1,2] INTERNET cáo mọi nhà

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

TỪ KHÓA LIÊN QUAN