Thứ Tư, 16 tháng 12, 2015

Xem danh sách các object trong Database SQL Server

Truy vn thông tin trong sys.objects đ xem thông tin các object đưc to trong database. Nhng thông tin này rt có ích trong vic qun lý database.

select * from sys.objects

Chúng ta có th filter các object da vào type ca chúng. Ví d bn mun ly danh sách tt c các table trong database: 
  1. -- type='u' tc là table  
  1. select * from sys.objects where type='u'  
  1. -- tương đương vi:  
  1. select * from sys.tables

Hoc danh sách tt c các stored procedure: 
  1. select * from sys.objects where type='p'  
  1. -- tương đương vi:  
  1. select * from sys.procedures

Danh sách type ca các object tham kho t MSDN:
Object type:
AF = Aggregate function (CLR)
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
FN = SQL scalar function
FS = Assembly (CLR) scalar-function
FT = Assembly (CLR) table-valued function
IF = SQL inline table-valued function
IT = Internal table
P = SQL Stored Procedure
PC = Assembly (CLR) stored-procedure
PG = Plan guide
PK = PRIMARY KEY constraint
R = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S = System base table
SN = Synonym
SO = Sequence object
SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = SQL table-valued-function
TR = SQL DML trigger 
TT = Table type
U = Table (user-defined)
UQ = UNIQUE constraint
V = View
X = Extended stored procedure


Ngun: MSDN

Tìm Xem Cột Nằm Trong Bảng Nào

Đôi khi bạn có một tên cột và muốn tìm xem cột đó nằm trong bảng hoặc những bảng nào. Trong Management studio bạn có thể mở rộng node “Tables” và mở rộng đến từng bảng/column để tìm, nhưng việc này hẳn không dễ chịu. Cách làm đơn giản hơn nhiều là truy vấn vào information schema view:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'smthing'
 
--hoặc nếu không biết tên cột chính xác
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%smthing%'

Thứ Sáu, 4 tháng 12, 2015

SQL: Tùy biến cách sắp xếp trong câu lệnh ORDER BY

ORDER BY dùng để sắp xếp kết quả trả về bởi câu lệnh SELECT. Thỉnh thoáng, bạn cần tùy biến cách sắp xếp, không phải theo cách thông thường như ABC, 123…


VD: Chúng ta có bảng Currency dùng để liệt kê tiền tệ của các nước

Do phổ biến của USD, EUR và JPY, chúng ta muốn chúng xuất hiện đầu tiên. Các đơn vị tiền tệ khác sẽ xuất hiện sau và theo thứ tự ABC.
Thay vì viết:

 SELECT * FROM Sales.Currency
 ORDER BY CurrencyCode 
Chúng ta sẽ viết:

SELECT * FROM Sales.Currency
 ORDER BY CASE
  WHEN CurrencyCode = 'USD' THEN NULL
  WHEN CurrencyCode = 'EUR' THEN 'AAA'
  WHEN CurrencyCode = 'JPY' THEN 'AAB'
  ELSE CurrencyCode
  END
Dùng câu lệnh CASE để tùy biến lại cách sắp xếp.

Kết quả sẽ là:

Lưu ý:
Nếu bạn muốn trả về giá trị nào đó ở đầu danh sách sắp xếp, bạn dùng NULL.

Chúc các bạn thành công

Cuộc Sống

"Một đại gia kia,không may mất sớm, người vợ đem 19 tỷ thừa kế đi lấy anh lái xe của đại gia. Anh lái xe trong lúc hân hoan phát biểu:"Trước kia,tôi cứ nghĩ rằng mình làm thuê cho ông chủ, bây giờ mới biết ông chủ mới chính là người làm thuê cho tôi"

Sự thật nghiệt ngã chứng minh: "Sống càng lâu,còn quan trọng hơn cả cao, to, đẹp giai, nhà giàu"

VÌ THẾ,Mọi người hãy tăng cường luyện tập, chú ý chăm sóc sức khoẻ, cuộc đời này chưa chắc ai làm thuê cho ai biết chừng

Bạn có công nhận những điều dưới đây không ??

Một chiếc máy smart phone cao cấp, 70% chức năng là dư thừa

Một chiếc xe sedan hạng sang,70% tốc độ là dư thừa

Một căn biệt thự sang trọng,70% diện tích là trống trải

Một đội ngũ nhân viên phục vụ,70% là kiếm cơm

Một ngôi trường đại học,70% giáo sư là chém gió

Một đại đội hoạt động xã hội,70% là nhàn rỗi trống rỗng

Một căn phòng chứa đầy quần áo thời trang mỹ phẩm, 70% là không mấy khi dùng đến

Một đời người , cho dù kiếm thêm nhiều tiền nữa, 70% là để lại cho người khác tiêu xài

Kết luận: