Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
Stored Procedure là một tập các câu lệnh T -SQL thực
hiện một nhiệm vụ cụ thể, được đặt tên và lưu trữ
trong CSDL dưới dạng đã biên dịch.
Stored procedure cung cấp một phương pháp hữu ích
cho việc thực thi lặp lại cùng một nhiệm vụ
Giúp tái sử dụng code
Khi thực thi lại một nhiệm vụ, sử dụng lời gọi Stored
Procedure thay vì viết và thực thi lại cùng một tập hợp các
câu lệnh.
Cách sử dụng các biến, cấu trúc điều khiển trong
Stored Procedure tương tự như mã kịch bản
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
Stored Procedure là một tập các câu lệnh T -SQL thực
hiện một nhiệm vụ cụ thể, được đặt tên và lưu trữ
trong CSDL dưới dạng đã biên dịch.
Stored procedure cung cấp một phương pháp hữu ích
cho việc thực thi lặp lại cùng một nhiệm vụ
Giúp tái sử dụng code
Khi thực thi lại một nhiệm vụ, sử dụng lời gọi Stored
Procedure thay vì viết và thực thi lại cùng một tập hợp các
câu lệnh.
Cách sử dụng các biến, cấu trúc điều khiển trong
Stored Procedure tương tự như mã kịch bản
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Rtos 2: time slice vs preeption (cùng mức ưu tiên vs có chiếm quyềnAnhTT8
tài liệu này nói về chế độ hoạt động time slice và preemption trong hệ điều hành Free RTOS của stm32f103c8t6. Tài liệu này còn nhiều thiếu sót, rất mong mọi người thông cảm và đóng góp ý kiển. Việc upload tài liệu này không vì bất kỳ mục đích thương mại nào, mà chỉ để mọi người học hỏi trao đổi lẫn nhau. Mình rất cảm ơn Thầy Cường đã chỉ dạy cho mình thời gian qua, nếu có gì sai thì đó là do mình hiểu chưa tới chứ không phải lỗi do thầy giảng sai. "luật nhân quả là công bằng tuyệt đối".
Sao lưu & phục hồi database SQL Server | zBackup.vnzBackupVN
Tài liệu giúp bạn nắm bắt cơ chế sao lưu và phục hồi database SQL Server, với các ví dụ minh họa cách sử dụng SQL Server Management Studio và T-SQL để sao lưu và phục hồi: Full Database, Differential Database, Transaction Log.
Tài liệu được xây dựng bởi Backup Academy Team của zBackup.vn. Để tìm hiểu thêm về sao lưu SQL Server, vui lòng truy cập http://backupacademy.zbackup.vn/category/sql-server.
Vietnamese version translated from this famous slide
http://www.slideshare.net/nbykmatsui/ss-55961899?utm_content=buffer50ae1&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer
The document discusses various techniques for optimizing web page performance related to layout, rendering, and JavaScript execution. It explains that changing properties that affect layout or geometry will trigger the browser to reflow elements, while changes only affecting paint can avoid reflow. It recommends reducing unnecessary style calculations, avoiding large complex layouts, and preventing forced synchronous layouts. The document also provides tips for improving rendering blocking, such as avoiding @import rules and preloading critical resources. Finally, it suggests optimizing JavaScript execution using techniques like requestAnimationFrame instead of setTimeout and profiling code with DevTools.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
The document summarizes regular expression syntax and usage. It provides descriptions of special characters and constructs that define patterns to match text, as well as options for matching, grouping, and substituting matched text. Usage examples and .NET classes/methods for working with regular expressions are also referenced.
Chương 2 : Thiết kế giao diện của ứng dụng
I. XAML
1. XAML là gì?
XAML (eXtensible Application Markup Language) là một ngôn ngữ đánh dấu với cú pháp tương tự XML dùng để tạo các đối tượng .Net trong các ứng dụng WPF, Silverlight và WF. Mặc dù đây là những mảng đề tài lớn nhưng nếu bạn đã biết đến XML, sẽ không khó để làm quen với XAML.
XAML được dùng để tạo giao diện đồ họa cho ứng dụng thông qua các đối tượng của .Net hoặc do bạn tự định nghĩa. Do đó mỗi thẻ XAML phải ánh xạ và có tên tương ứng với một lớp.
Giống như các ngôn ngữ đánh dấu HTML, XML cho phép các thẻ lồng nhau. Điều này giúp bạn tạo ra các control đa dạng hơn, ví dụ như bạn có thể lồng một TextBox vào trong Button. Bên cạnh đó, các giá trị có kiểu dữ liệu cơ bản như chuỗi, số, màu,… mà bạn gán cho các thuộc tính của thẻ cũng phải được đặt trong cặp nháy kép.
2. Khai báo đối tượng:
2.1 Khai báo trực tiếp:
Sử dụng thẻ đóng và thẻ mở để khai báo một đối tượng giống như khai báo một phần tử trong XML. Ta có thể sử dụng cú pháp này để khai báo đối tượng gốc (root object) hoặc để set các giá trị cho thuộc tính.
2.2 Khai báo gián tiếp:
Sử dụng giá trị trực tiếp để khai báo một đối tượng. Ta có thể sử dụng cú pháp này để thiết lập giá trị của thuộc tính.
3. Thiết lập các thuộc tính cho đối tượng:
3.1 Sử dụng cú pháp theo thuộc tính:
Dưới đây là ví dụ để set các giá trị cho các thuộc tính: Weight, Height, Fill của đối tượng Rectangle:
<rectangle height="100" width="100" />
Trong Visual Studio cho phép chúng ta gán các thuộc tính cho các đối tượng bằng các thanh công cụ trong Properties Panel:
3.2 Sử dụng cú pháp theo đặc tính của thành phần:
Chẳng hạn set đặc tính Fill cho đối tượng Rectangle bằng cách này:
<rectangle height="100" width="100">
<rectangle.fill>
<solidcolorbrush />
</rectangle.fill>
</rectangle>
4. Root element và namespace trong XAML:
Một file XAML chỉ có một Root Element và thỏa mãn 2 tiêu chí : well-formed
XML (có thẻ đóng và thẻ mở) và valid XML (tuân thủ theo DTD).
Cấu trúc của 1 page XAML như sau:
<phone:phoneapplicationpage>
<!--LayoutRoot is the root grid where all page content is pl
1. Bài 1
STORED PROCEDURE
Mục tiêu bài học:
- Khái niệm Stored Procedure
- Ưu điểm của Stored Procedure
- Các loại Stored Procedure
- Cách tạo Stored Procedure
I. Khái niệm Stored Procedure
- Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và
save các nhóm câu lệnh SQL vào một file dưới dạng script để có thể sử dụng trở lại
sau này. Tuy nhiên thay vì save vào text file ta có thể save vào trong SQL Server
dưới dạng Stored Procedure.
- Stored Procedure là một nhóm câu lệnh Transac-SQL đã được complied (biên dịch)
và chứa trong SQL Server dưới một tên nào đó và được xử lý như một đơn vị (chứ
không phải nhiều câu SQL riêng lẻ).
1. Ưu điểm Stored Procedure
Stored Procedure có một số ưu điểm chính như sau:
- Performance: Khi thực thi một câu lệnh SQL thì SQL Server phải kiểm tra
permission xem user gởi câu lệnh đó có được phép thực hiện câu lệnh hay
không đồng thời kiểm tra cú pháp rồi mới tạo ra một execute plan và thực thi.
Nếu có nhiều câu lệnh như vậy gởi qua network có thể làm giảm đi tốc độ làm
việc của server. SQL sẽ làm việc hiệu quả hơn nếu dùng stored procedure vì
người gởi chỉ gởi một câu lệnh đơn và SQL Server chỉ kiểm tra một lần sau đó
tạo ra một execute plan và thực thi. Nếu stored procedure được gọi nhiều lần
thì execute plan có thể được sử dụng lại nên sẽ làm việc nhanh hơn. Ngoài ra
cú pháp của các câu lệnh SQL đã được SQL Sever kiểm tra trước khi save nên
nó không cần kiểm lại khi thực thi.
- Programming Framework: Một khi stored procedure được tạo ra nó có thể
được sử dụng lại. Ðiều này sẽ làm cho việc bảo trì (maintainability) dễ dàng
hơn do việc tách rời giữa business rules (tức là những logic thể hiện bên trong
stored procedure) và database. Ví dụ nếu có một sự thay đổi nào đó về mặt
logic thì ta chỉ việc thay đổi code bên trong stored procedure mà thôi. Những
2. ứng dụng dùng stored procedure này có thể sẽ không cần phải thay đổi mà
vẫn tương thích với business rule mới. Cũng giống như các ngôn ngữ lập trình
khác stored procedure cho phép ta đưa vào các input parameters (tham số)
và trả về các output parameters đồng thời nó cũng có khả năng gọi các stored
procedure khác.
- Security: Giả sử chúng ta muốn giới hạn việc truy xuất dữ liệu trực tiếp của
một user nào đó vào một số tables, ta có thể viết một stored procedure để
truy xuất dữ liệu và chỉ cho phép user đó được sử dụng stored procedure đã
viết sẵn mà thôi chứ không thể "đụng" đến các tables đó một cách trực tiếp.
Ngoài ra stored procedure có thể được encrypt (mã hóa) để tăng cường tính
bảo mật.
2. Các loại Stored Procedure
Stored Procedure có thể được chia thành 5 nhóm như sau:
- System Stored Procedure: Là những stored procedure chứa trong Master
database và thường bắt đầu bằng tiếp đầu ngữ sp_. Các stored procedure này
thuộc loại built-in và chủ yếu dùng trong việc quản lý database
(administration) và security. Ví dụ bạn có thể kiểm tra tất cả các processes
đang được sử dụng bởi user DomainNameAdministrators bạn có thể dùng
sp_who @loginame='DomainNameAdministrators’. Có hàng trăm system
stored procedure trong SQL Server. Bạn có thể xem chi tiết trong SQL Server
Books Online.
- Local Stored Procedure: Ðây là loại thường dùng nhất. Chúng được chứa
trong user database và thường được viết để thực hiện một công việc nào đó.
Thông thường người ta nói đến stored procedure là nói đến loại này. Local
stored procedure thường được viết bởi DBA hoặc programmer. Chúng ta sẽ
bàn về cách tạo stored prcedure loại này trong phần kế tiếp.
- Temporary Stored Procedure: Là những stored procedure tương tự như
local stored procedure nhưng chỉ tồn tại cho đến khi connection đã tạo ra
chúng bị đóng lại hoặc SQL Server shutdown. Các stored procedure này được
tạo ra trên TempDB của SQL Server nên chúng sẽ bị delete khi connection tạo
ra chúng bị cắt đứt hay khi SQL Server down. Temporary stored procedure
được chia làm 3 loại : local (bắt đầu bằng #), global (bắt đầu bằng ##) và
stored procedure được tạo ra trực tiếp trên TempDB. Loại local chỉ được sử
dụng bởi connection đã tạo ra chúng và bị xóa khi disconnect, còn loại global
3. có thể được sử dụng bởi bất kỳ connection nào. Permission cho loại global là
dành cho mọi người (public) và không thể thay đổi. Loại stored procedure
được tạo trực tiếp trên TempDB khác với 2 loại trên ở chỗ ta có thể set
permission, chúng tồn tại kể cả sau khi connection tạo ra chúng bị cắt đứt và
chỉ biến mất khi SQL Server shut down.
- Extended Stored Procedure: Ðây là một loại stored procedure sử dụng
một chương trình ngoại vi (external program) vốn được compiled thành một
DLL để mở rộng chức năng hoạt động của SQL Server. Loại này thường bắt
đầu bằng tiếp đầu ngữ xp_ .Ví dụ, xp_sendmail dùng đề gởi mail cho một
người nào đó hay xp_cmdshell dùng để chạy một DOS command... Ví dụ
xp_cmdshell 'dir c:' . Nhiều loại extend stored procedure được xem như
system stored procedure và ngược lại.
- Remote Stored Procedure: Những stored procedure gọi stored procedure ở
server khác.
II. Tạo Stored Procedure
- Tên và những thông tin về Stored Procedure khi được tạo ra sẽ chứa trong
SysObjects table còn phần text của nó chứa trong SysComments table.
- Vì Stored Procedure cũng được xem như một object nên ta cũng có thể dùng
các lệnh như CREATE, ALTER, DROP để tạo mới, thay đổi hay xóa bỏ một
stored procedure.
- Ví dụ về Stored Procedure: Ðể tạo một stored procedure chúng ta có thể dùng
Enterprise Manager click lên trên Stored Procedure -> New Stored
Procedure
Ví dụ 1: Tạo Stored Procedure để cập nhật tên đề tài mới với MSĐT
cũ không đổi. Nếu không tìm thấy trả về 0, ngược lại cập nhật và trả
về 1
4. CREATE PROC capnhatdetai (@msdt char(6), @tendetaimoi
varchar(30))
AS
If Exists (select msdt from DETAI where msdt=@msdt)
Begin
Update DETAI
Set tendt=@tendetaimoi
Where msdt=@msdt
Return 1 -- da cap nhat
End
Else
Return 0 --khong co de tai nao co MSDT tương ung
Ví dụ 2: Tạo Stored Procedure và đưa vào TENSV nếu không vi phạm
ràng buộc về khoá thì xoá. Ngược lại trả về 0.
CREATE PROC xoasinhvien(@tensv varchar(30))
AS
-- nếu có tên sinh viên cần xoá
If exists (select mssv from SINHVIEN where tensv = @tensv)
Begin
-- nếu có dữ liệu tương ứng trong table THUCHIEN thi khong the
xoa
If exists (select msdt from SINHVIEN t1, THUCHIEN t2 where
t1.mssv=t2.mssv and t1.tensv = @tensv)
Begin
Print ‘khong the xoa du lieu trong table SINHVIEN vi rang buoc khoa
ngoai voi table THUCHIEN’
Return
End
Else
-- Xoa du lieu khoi table SINHVIEN vi khong con vi pham rang
5. buoc khoa ngoai
Delete from SINHVIEN where tensv = @tensv
Print ‘Da xoa sinh vien co ten: ’+@tensv
End
Else
Begin
Print ‘ khong co sinh vien co ten: ‘+@tensv
Return 0
End