07/09/2018, 10:49

Microsoft SQL Server: Tìm Hiểu Cách Truy Vấn Thông Tin Về Database

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu có quan hệ (tiếng Anh là Relational Database Management System hay RDBMS) được phát triển bởi Microsoft. SQL Server là một trong những RDBMS được phổ biến bên cạnh MySQL. Trong bài viết này chúng ta cùng đi tìm cách viết các câu truy vấn SQL ...

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu có quan hệ (tiếng Anh là Relational Database Management System hay RDBMS) được phát triển bởi Microsoft. SQL Server là một trong những RDBMS được phổ biến bên cạnh MySQL. Trong bài viết này chúng ta cùng đi tìm cách viết các câu truy vấn SQL thông dụng để lấy ra thông tin của một cơ sở dữ liệu.

Hiển Thị Danh Sách Database

Đối với các phiên bản SQL Server 2000 và trở về sau để hiển thị danh sách các cơ sở dữ liệu có trên database chúng ta sử dụng câu SQL sau:

SELECT * FROM dbo.sysdatabases

Đối với các phiên bản SQL Server 2005 và trở về sau để hiển thị danh sách các cơ sở dữ iệu có trên database chúng ta sử dụng câu SQL sau:

SELECT * FROM sys.databases

Đếm Số Lượng Table Trong Database

Để đếm số lượng các bảng có trong một cơ sở dữ liệu với tên là MyDatabase chúng ta sử dụng câu lệnh SQL sau:

USE MyDatabase SELECT COUNT(*) from INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'

Lấy Ra Danh Sách Các Stored Procedure

Đối với các phiên bản SQL Server 2005 và trở về sau, để lấy vền danh sách các stored procedure chúng ta sử dụng câu SQL sau:

SELECT * FROM sys.objects WHERE type = 'P'

Hoặc:

SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'

Đối với các phiên bản SQL Server trước 2005:

SELECT * FROM sysobjects WHERE type = 'P'

Tìm Kiếm Các Stored Procedure

Với các phiên bản SQL Server 2005 trở về sau để tìm kiếm các stored procedure chứa từ khoá keyword cho trước:

SELECT p.name FROM sys.sql_modules AS m INNER JOIN sys.procedures AS p ON m.object_id = p.object_id WHERE definition LIKE '%keyword%'

Với các phiên bản trước SQL Server 2005 thì để tìm kiếm các stored procedure chứa từ khoá keyword cho trước:

SELECT o.name FROM syscomments c INNER JOIN sysobjects o ON c.id=o.id WHERE o.xtype = 'P'  AND c.TEXT LIKE '%keyword%'
0