Tải bản đầy đủ (.ppt) (18 trang)

Giao Trinh SQL bai 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (322.85 KB, 18 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>CƠ BẢN VỀ LẬP TRÌNH </b>


<b>BẰNG TRANSACT – SQL</b>



<b>CƠ BẢN VỀ LẬP TRÌNH </b>


<b>BẰNG TRANSACT – SQL</b>



<b>10</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

2


<b>1. Khái niệm cơ bản:</b>
<b>1. Khái niệm cơ bản:</b>
<b>a. Qui tắc định danh:</b>
<b>a. Qui tắc định danh:</b>
 <b><sub>Tối đa 128 ký tự.</sub><sub>Tối đa 128 ký tự.</sub></b>


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


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


<b>khác.</b>


<b>khác.</b>


 <b><sub>Những định danh nào có khoảng trắng ở giữa thì </sub><sub>Những định danh nào có khoảng trắng ở giữa thì </sub></b>


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


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


 <b><sub>Các định danh không được trùng lắp và không </sub><sub>Các định danh không được trùng lắp và không </sub></b>



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


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

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


 <b><sub>Tên đầy đủ:</sub><sub>Tên đầy đủ:</sub></b> <b><sub>Server.database.ower.object</sub><sub>Server.database.ower.object</sub></b>


 <b><sub>Tên ngắn: Nếu là local server thì ta khỏi chỉ </sub><sub>Tên ngắn: Nếu là local server thì ta khỏi chỉ </sub></b>


<b>Server, nếu ở CSDL hiện hành thì khơng cần chỉ </b>


<b>Server, nếu ở CSDL hiện hành thì khơng cần chỉ </b>


<b>Database; </b>


<b>Database; </b> <b>OwnerOwner mặc định là user name trong mặc định là user name trong </b>
<b>Database.</b>


<b>Database.</b>


 <b><sub>Nếu tham chiếu tường minh thì tăng tốc.</sub><sub>Nếu tham chiếu tường minh thì tăng tốc.</sub></b>


<b>Ví dụ: </b>


<b>Ví dụ: </b> <b>Create TableCreate Table Northwind..orederhistNorthwind..orederhist</b>
<b>Create Table</b>


<b>Create Table Northwind.dbo.orederhistNorthwind.dbo.orederhist</b>
 <b><sub>Database Owner (dbo) user có đầy đủ các quyền </sub><sub>Database Owner (dbo) user có đầy đủ các quyền </sub></b>



<b>thao tác trong CSDL. Bất kỳ một thành viên </b>


<b>thao tác trong CSDL. Bất kỳ một thành viên </b>


<b>thuộc nhóm sysadmin thì mặc nhiên thuộc dbo.</b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

4


<b>c. Kiểu dữ liệu (data type):</b>


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


<b>d. Batch:</b>


<b>d. Batch: là một tập các phát biểu T-SQL nằm liên là một tập các phát biểu T-SQL nằm liên </b>
<b>tiếp và kết thúc bởi phát biểu GO</b>


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


<b>Vd:</b>


<b>Vd:</b>


<b>USE</b>


<b>USE giaotrinh_dbgiaotrinh_db</b>
<b>GO</b>


<b>GO</b>



<b>Create View</b>


<b>Create View vw_NhanVien vw_NhanVien</b>


<b>AS</b>


<b>AS</b>


<b>Select</b>


<b>Select * From * From NhanVien NhanVien</b>
<b>GO </b>


<b>GO </b>
<b>Select</b>


<b>Select * From * From vw_NhanVien vw_NhanVien</b>
<b>GO</b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

 <b><sub>Ghi chú:</sub><sub>Ghi chú:</sub></b>


 <b><sub>Các phát biểu trong 1 batch được biên dịch </sub><sub>Các phát biểu trong 1 batch được biên dịch </sub></b>


<b>thành một nhóm.</b>


<b>thành một nhóm.</b>


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



<b>batch cũng xem như lỗi.</b>


<b>batch cũng xem như lỗi.</b>


 <b><sub>Các phát biểu Create</sub><sub>Các phát biểu </sub></b> <b><sub>Create</sub><sub> bị ràng buộc trong một </sub><sub> bị ràng buộc trong một </sub></b>
<b>batch</b>


<b>batch đơn, tức trong batch đó chỉ có phát biểu đơn, tức trong batch đó chỉ có phát biểu </b>
<b>Create. Các phát biểu đó là: Create DataBase, </b>


<b>Create. Các phát biểu đó là: Create DataBase, </b>


<b>Create Table, Create Index,…</b>


<b>Create Table, Create Index,…</b>
<b>e.</b>


<b>e. Kịch bản (Script)Kịch bản (Script)</b>


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


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


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

6


<b>2. Biến (Variable)</b>
<b>2. Biến (Variable)</b>


 <b><sub>Biến được dùng để:</sub><sub>Biến được dùng để:</sub></b>



 <b><sub>Phải được khai báo trước khi dùng.</sub><sub>Phải được khai báo trước khi dùng.</sub></b>


 <b><sub>Các loại biến: biến cục bộ (local) và biến toàn </sub><sub>Các loại biến: biến cục bộ (local) và biến toàn </sub></b>


<b>cục (Global: được SQL Server đưa ra và có thể </b>


<b>cục (Global: được SQL Server đưa ra và có thể </b>


<b>dùng bất cứ khi nào và không cần khai báo </b>


<b>dùng bất cứ khi nào và không cần khai báo </b>
 <b><sub>Biến cục bộ (Local variable)</sub><sub>Biến cục bộ (Local variable)</sub></b>


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


<b>hoặc một thủ tục.</b>


<b>hoặc một thủ tục.</b>


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


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


<b>nó được khai báo cho đến khi kết thúc một lô </b>
<b>(batch)</b>


<b>(batch) hoặc stored procedure hoặc stored procedure hoặc Functionhoặc Function mà mà </b>
<b>nó được khai báo.</b>


<b>nó được khai báo.</b>



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>a. Khai báo (Declare):</b>
<b>a. Khai báo (Declare):</b>


<b>DECLARE</b>


<b>DECLARE @var_name @var_name var_type [,…n] var_type [,…n] </b>
 <b><sub>Gán giá trị cho biến:</sub><sub>Gán giá trị cho biến:</sub></b>


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


<b>được gán giá trị là NULL.</b>


<b>được gán giá trị là NULL.</b>


 <b><sub>Để gán biến ta dùng lệnh Set</sub><sub>Để gán biến ta dùng lệnh </sub><sub>Set</sub><sub> hoặc dùng câu lệnh </sub><sub> hoặc dùng câu lệnh</sub></b>
<b>Select</b>


<b>Select</b>
 <b><sub>Syntax:</sub><sub>Syntax:</sub></b>


<b>SET</b>


<b>SET @var_name = @var_name = expressionexpression</b>


<b>SELECT</b>


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

8


<b>Use</b>



<b>Use</b> <b>giaotrinh_dbgiaotrinh_db</b>
<b>GO</b>


<b>GO</b>


<b>Declare</b>


<b>Declare @NamLV int @NamLV int</b>


<b>Set</b>


<b>Set @NamLV = 1994 @NamLV = 1994</b>


<b>Select</b>


<b>Select * From * From NhanVien NhanVien</b>


<b>Where</b>


<b>Where</b> <b>YearYear(NgayLamViec) = @NamLV (NgayLamViec) = @NamLV </b>
<b>GO</b>


<b>GO</b>
<b>Use</b>


<b>Use</b> <b>giaotrinh_dbgiaotrinh_db</b>
<b>GO</b>


<b>GO</b>



<b>Declare</b>


<b>Declare @TenDem nvarchar @TenDem nvarchar(10),(10), @HoTen nvarchar @HoTen nvarchar(50) (50) </b>
<b>Set @TenDem = N</b>


<b>Set @TenDem = N''VanVan''</b>


<b>Select</b>


<b>Select @HoTen = Ho + @HoTen = Ho + ''</b> <b>'' + Ten From + Ten From NhanVien NhanVien</b>


<b>Where</b>


<b>Where</b> <b>Ho Like Ho Like '%' + '%' + @TenDem@TenDem + '%' + '%'</b>


<b>Select</b>


<b>Select</b> <b> @ @HoTen HoTen </b>
<b>GO</b>


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>3. Cấu trúc điều khiển:</b>


<b>3. Cấu trúc điều khiển:</b>


<b>a. </b>


<b>a. Khối Khối BEGIN … END BEGIN … END </b>
<b>b. PRINT:</b>



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


<b>của SQL của 1 Biểu thức, chuỗi, hàm, biến….</b>


<b>VD: </b>


<b>VD: PRINTPRINT N ‘Chào bạn’ N ‘Chào bạn’</b>


<b> </b>


<b> PRINTPRINT @@VERSION @@VERSION</b>


<b> </b>


<b> PRINTPRINT N‘Hai nhân năm = ‘ + N‘Hai nhân năm = ‘ + CastCast(2*5 as char(4))(2*5 as char(4))</b>


<b>c. Cấu trúc điều khiển:</b>


<b>c. Cấu trúc điều khiển: IF … ELSE IF … ELSE</b>
<b>Syntax:</b>


<b>Syntax:</b>


<b>IF </b>


<b>IF conditioncondition</b>


<b>{statement}</b>



<b>{statement}</b>
<b>[ ELSE </b>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

10


<b>USE</b>


<b>USE GiaoTrinh_db GiaoTrinh_db</b>


<b>IF</b>


<b>IF</b> <b>( ( Select Select CountCount (*) (*) FromFrom KhachHang KhachHang</b>


<b>Where</b>


<b>Where TenCongTy = ‘ABC’ TenCongTy = ‘ABC’ ) ) > 0 > 0 </b>


<b>Begin</b>


<b>Begin</b>


<b>Print</b>


<b>Print ‘Có Cơng ty tên là ABC’ ‘Có Cơng ty tên là ABC’</b>


<b>End</b>


<b>End</b>


<b>ELSE</b>



<b>ELSE</b>


<b>Begin</b>


<b>Begin</b>


<b>Print</b>


<b>Print ‘Khơng Có Cơng ty tên là ABC’ ‘Khơng Có Cơng ty tên là ABC’</b>


<b>End</b>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>d. Cấu trúc của CASE</b>



<b>d. Cấu trúc của CASE</b>



<b>CASE</b>


<b>CASE input_expression input_expression </b>
<b> </b>


<b> WHENWHEN when_expression when_expression THENTHEN result_expression result_expression </b>
<b> </b>


<b> [ ...n ] [ ...n ] </b>
<b> </b>


<b> [ [ ELSEELSE else_result_expression ] else_result_expression ]</b>



<b>END</b>


<b>END</b>


<b></b>
<b></b>


<b>---CASE</b>
<b>CASE </b>
<b> </b>


<b> WHENWHEN when_expression when_expression THENTHEN result_expression result_expression </b>
<b> </b>


<b> [ ...n ] [ ...n ] </b>
<b> </b>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

12
<b>SELECT</b>


<b>SELECT MaNhanVien, Ho, Ten, LuongCoBan + MaNhanVien, Ho, Ten, LuongCoBan + </b>


<b>CASE</b>


<b>CASE</b>


<b>WHEN </b>


<b>WHEN PhuCap PhuCap IS NULLIS NULL</b> <b>THENTHEN 0 0</b>



<b>ELSE</b>


<b>ELSE PhuCap PhuCap</b>


<b>END</b>


<b>END</b>


<b>FROM</b>


<b>FROM NHANVIEN NHANVIEN</b>


<b></b>


<b></b>


<b>---Select</b>


<b>Select N'Nhóm giá các loại hàng' = N'Nhóm giá các loại hàng' = </b>
<b> </b>


<b> CASECASE</b>


<b> </b>


<b> WhenWhen price price IS NULLIS NULL THENTHEN N'Chưa có gía' N'Chưa có gía'</b>
<b> </b>


<b> WhenWhen price < 10 price < 10 THENTHEN N'Giá < 10' N'Giá < 10'</b>
<b> </b>



<b> WhenWhen price >= 10 price >= 10 andand price < 20 price < 20 ThenThen N'Giá >= 10 và <=20' N'Giá >= 10 và <=20'</b>
<b> </b>


<b> ElseElse N'Giá > 20' N'Giá > 20'</b>
<b> </b>


<b> ENDEND,,</b>


<b> </b>


<b> Title Title asas N'Tựa đề' N'Tựa đề'</b>


<b>FROM</b>


<b>FROM titles titles</b>


<b>ORDER BY</b>


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>DECLARE</b>


<b>DECLARE @a as @a as intint, @b as , @b as intint</b>
<b>DECLARE</b>


<b>DECLARE @ketqua as @ketqua as nvarcharnvarchar(30)(30)</b>


<b>SET</b>


<b>SET @a=3 @a=3</b>



<b>SET</b>


<b>SET @b=5 @b=5</b>


<b>SET</b>


<b>SET @ketqua = @ketqua = CASECASE</b>


<b> </b>


<b> WHENWHEN @a<@b @a<@b THENTHEN N'A nhỏ hơn B' N'A nhỏ hơn B'</b>
<b> </b>


<b> WHENWHEN @a<@b THEN N'A lớn hơn B' @a<@b THEN N'A lớn hơn B'</b>
<b> </b>


<b> ELSEELSE N'A bằng B' N'A bằng B'</b>
<b> </b>


<b> ENDEND --- End cua CASE --- End cua CASE</b>


<b>PRINT</b>


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

14


<b>e. Vòng lặp WHILE</b>



<b>e. Vòng lặp WHILE</b>



<b>WHILE</b>



<b>WHILE Boolean_expression Boolean_expression</b>
<b> </b>


<b> {sql_statement | statement_block}{sql_statement | statement_block}</b>


<b>[ BREAK ]</b>


<b>[ BREAK ]</b>


<b> </b>


<b> {sql_statement | statement_block}{sql_statement | statement_block}</b>


<b>[ CONTINUE ]</b>


<b>[ CONTINUE ]</b>


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


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


 <b><sub>[CONTINUE]:</sub><sub>[CONTINUE]:</sub><sub> Lặp lại đầu vịng lặp.</sub><sub> Lặp lại đầu vịng lặp.</sub></b>


 <b><sub>Thơng thường 2 từ khóa </sub><sub>Thơng thường 2 từ khóa </sub></b> <b><sub>Break</sub><sub>Break</sub><sub> và </sub><sub> và </sub></b> <b><sub>Continue</sub><sub>Continue</sub><sub> nằm </sub><sub> nằm </sub></b>


<b>trong trong cấu trúc </b>


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>e. Vòng lặp WHILE</b>




<b>e. Vòng lặp WHILE</b>



<b>USE</b>


<b>USE pubs pubs</b>
<b>GO</b>


<b>GO</b>


<b>WHILE</b>


<b>WHILE (SELECT (SELECT AVGAVG(price) FROM(price) FROM titles) < $30 titles) < $30</b>


<b>BEGIN</b>


<b>BEGIN</b>


<b> </b>


<b> UPDATEUPDATE titles titles</b>
<b> </b>


<b> SETSET price = price * 2 price = price * 2</b>
<b> </b>


<b> SELECTSELECT MAX(price) FROM titles MAX(price) FROM titles</b>
<b> </b>


<b> IFIF (SELECT (SELECT MAXMAX(price) FROM(price) FROM titles) > $50 titles) > $50</b>


<b> </b>


<b> BREAKBREAK</b>


<b> </b>


<b> ELSEELSE</b>


<b> </b>


<b> CONTINUECONTINUE</b>


<b>END</b>


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

16


<b>e. Lệnh RETURN: </b>


<b>e. Lệnh RETURN: RETURNRETURN [integer_expression] [integer_expression]</b>


<b>Return </b>


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


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


<b>f. </b>


<b>f. </b> <b>Lệnh WAITFOR: Lệnh WAITFOR: Là một chỉ thị cho SQL Server tạm Là một chỉ thị cho SQL Server tạm </b>


<b>dừng một thời gian trước khi xử lý tiếp các phát biểu </b>


<b>dừng một thời gian trước khi xử lý tiếp các phát biểu </b>


<b>sau đó.</b>


<b>sau đó.</b>
<b>Syntax:</b>


<b>Syntax: WAITFOR WAITFOR { DELAY{ DELAY ‘time’ | TIME ‘time’ | TIME ‘time’ } ‘time’ }</b>
<b>‘</b>


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


<b>DELAY ‘Time’:</b>


<b>DELAY ‘Time’: Hệ thống tạm dừng trong Hệ thống tạm dừng trong khoảng thời khoảng thời </b>
<b>gian ‘Time’ VD: </b>


<b>gian ‘Time’ VD: WAITFOR DELAY WAITFOR DELAY ’02:10’’02:10’</b>


<b>TIME ‘Time’:</b>


<b>TIME ‘Time’: Hệ thống được tạm dừng đến Hệ thống được tạm dừng </b> <b>đến thời gian thời gian </b>
<b>‘Time’ chỉ ra. VD: </b>


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>g. Lệnh RAIREEOR</b>
<b>g. Lệnh RAIREEOR</b>


<b>Phát sinh lỗi của người dùng. Người dùng có thể phát sinh </b>



<b>Phát sinh lỗi của người dùng. Người dùng có thể phát sinh </b>


<b>các lỗi từ bảng </b>


<b>các lỗi từ bảng sysmessagesysmessage hoặc xây dựng lỗi động tùy hoặc xây dựng lỗi động tùy </b>
<b>thông tin của người dùng. </b>


<b>thông tin của người dùng. </b>
<b>RAISERROR </b>


<b>RAISERROR ({msg_id | msg_str} {, severity, state}({msg_id | msg_str} {, severity, state}</b>
<b>[,argument [,…n]])</b>


<b>[,argument [,…n]])</b>


<b>[WITH option [,…n]]</b>


<b>[WITH option [,…n]]</b>


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


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


<b>Sp_addMessage </b>


<b>Sp_addMessage msg_ID, severity, ‘msg’ [,’language’]msg_ID, severity, ‘msg’ [,’language’]</b>
<b>[,’with_log’] [,’replace’]</b>


<b>[,’with_log’] [,’replace’]</b>



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


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


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

18


<b><sub>Msg_id:</sub><sub>Msg_id:</sub><sub> Là mã số của lỗi mới, là một số int, không được </sub><sub> Là mã số của lỗi mới, là một số int, khơng được </sub></b>
<b>trùng các mã đã có sẵn, bắt đầu là </b>


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


<b><sub>Severity:</sub><sub>Severity:</sub><sub> Là mức lỗi của lỗi, là một số smallint</sub><sub> Là mức lỗi của lỗi, là một số </sub><sub>smallint</sub><sub>. Mức hợp lệ </sub><sub>. Mức hợp lệ </sub></b>
<b>là từ 1 đến 25. Chỉ có người quản trị CSDL mới có thể phát </b>


<b>là từ 1 đến 25. Chỉ có người quản trị CSDL mới có thể phát </b>


<b>sinh thêm một thông báo lỗi mới từ 19 đến 25.</b>


<b>sinh thêm một thông báo lỗi mới từ 19 đến 25.</b>


<b><sub>‘</sub><sub>‘</sub><sub>msg’:</sub><sub>msg’:</sub><sub> Là một chuỗi thông báo lỗi, tối đa 255 ký tự.</sub><sub> Là một chuỗi thông báo lỗi, tối đa 255 ký tự.</sub></b>
<b><sub>‘</sub><sub>‘</sub><sub>Language’:</sub><sub>Language’:</sub><sub> mặc định là ngôn ngữ của phiên kết nối.</sub><sub> mặc định là ngôn ngữ của phiên kết nối.</sub></b>


<b><sub>‘</sub><sub>‘</sub><sub>with_log’:</sub><sub>with_log’:</sub><sub> Thơng báo lỗi có được ghi nhận vào nhật ký </sub><sub> Thơng báo lỗi có được ghi nhận vào nhật ký </sub></b>
<b>của ứng dụng khi nó xảy ra hay khơng, mặc định là </b>


<b>của ứng dụng khi nó xảy ra hay không, mặc định là FALSEFALSE. . </b>
<b><sub>‘</sub><sub>‘</sub><sub>replace’:</sub><sub>replace’:</sub><sub> Nếu được chỉ định chuỗi REPLACE</sub><sub> Nếu được chỉ định chuỗi </sub><sub>REPLACE</sub><sub>, thì thơng </sub><sub>, thì thơng </sub></b>


<b>báo lỗi đã tồn tại được ghi đè bởi chuỗi thông báo mới và </b>


<b>báo lỗi đã tồn tại được ghi đè bởi chuỗi thông báo mới và </b>


<b>mức lỗi mới. Tham số này phải chỉ định nếu </b>


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×