Friday , 24 November 2017
HOT

Tag Archives: sql server

Vì sao nên tránh viết SQL code trong ứng dụng

Trong ứng dụng khi cần tương tác với database, có lẽ một cách làm rất phổ biến là tạo lập một chuỗi chứa lệnh SQL, ghép các giá trị  nhập vào của người dùng thành một lệnh SQL hoàn chỉnh, rồi thực hiện chuỗi lệnh SQL đó. Như ví dụ dưới đây: string cmdStr = "INSERT INTO Customer(Name, Address, Email, ... Read More »

Lấy ngày cuối cùng của tháng trong sql server

Để tìm ra ngày cuối cùng của tháng hiện tại, bạn chỉ việc lấy ngày đầu tiên của tháng sau rồi bớt đi 1 ngày: SELECT DATEADD(d,-1, DATEADD(mm, DATEDIFF(mm, 0 ,GETDATE())+1, 0)) Giải thích: - Lệnh DATEDIFF trong cùng tính số tháng tính từ thời điểm bắt đầu (01/01/1900) và tăng lên 1: DATEDIFF(mm, 0 ,GETDATE())+1) - Tới lệnh DATEADD ... Read More »

Lợi ích của index trong sql server

Index là phương tiện rất mạnh để tăng hiệu năng thực hiện của câu lệnh. Bài post này sẽ cung cấp một ví dụ cho bạn thấy bên trong SQL Server sử dụng index để  tăng hiệu năng như thế nào. Ở đây tôi dùng database AdventureWork là database mẫu đi kèm với SQL Server (bạn có thể dowload database ... Read More »

Sử dụng index trong sql server một cách hiệu quả

Trong một câu lệnh SQL, một điều kiện tìm kiếm ở mệnh đề WHERE được gọi là sargable (viết tắt từ Search Argument-Able) nếu index có thể được sử dụng khi thực hiện câu lệnh (giả sử cột tương ứng có index). Ví dụ, với câu lệnh sau: SELECT * FROM dbo.Customer WHERE CustomerID = 1234 thì điều kiện “CustomerID ... Read More »

Reset identity trong sql server

Khi bạn TRUNCATE bảng, trường IDENTITY sẽ được reset trở về giá trị ban đầu (khi tạo bảng). Tuy nhiên có những trường hợp bạn không thể dùng TRUNCATE . Ví dụ bạn muốn đặt lại giá trị của trường IDENTITY trong bảng dbo.TableName về 1, bạn có thể dùng lệnh này: DBCC CHECKIDENT ('dbo.TableName', RESEED, 1) Read More »

Giảm dung lượng file log của SQL Server

Vào một ngày đẹp trời, bạn nhận thấy rằng file LOG của mình quá lớn, chiếm gần hết ổ cứng và không thể thực hiện bất kì một thao tác nào trên dữ liệu. Hay bạn thấy, trong khi dữ liệu của mình chỉ có vài GB, mà file LOG lên đến tận hàng trăm GB. Phải làm thế nào ... Read More »

ROW_NUMBER trong sql server

Hàm ROW_NUMBER được đưa vào từ bản 2005, dùng để trả về một con số tuần tự gắn với mỗi bản ghi (do đó có tên như vậy, số của bản ghi). Hàm này giúp giải quyết một số bài toán dễ dàng hơn. Bài viết này giới thiệu hai ứng dụng của hàm ROW_NUMBER, nếu bạn có sử dụng ... Read More »

Các Loại Ràng Buộc Trong SQL Server

Ràng buộc trong SQL Server được dùng để duy trì tính nhất quán của dữ liệu, đảm bảo dữ liệu phù hợp với các qui định theo yêu cầu của bài toán. Ví dụ một database về bán hàng đòi hỏi mỗi bản ghi phải có ID sản phẩm hợp lệ, số lượng bán phải là một số nguyên và ... Read More »

Tạo Linked Server trong sql server

Linked Server là cơ chế cho phép kết nối từ một SQL Server tới một database server khác (có thể là SQL Server hoặc các hệ thống khác). Nó giúp việc truy vấn hoặc cập nhật dữ liệu từ một server ở xa rất thuận tiện. Tạo Linked server Để tạo linked server, trong Management Studtio 2008 bạn mở rộng ... Read More »

Thống kê trong sql server bằng pivot table

Trong quá trình lấy số liệu, thiết lập bảng biểu và báo cáo, một trường hợp thường gặp là bạn phải hiển thị dữ liệu từ dạng dòng chuyển thành cột. Kiểu truy vấn như vậy gọi là Crosstab-Query. Từ phiên bản SQL Server 2000 trở về trước, không có một lệnh nào trực tiếp hỗ trợ việc truy xuất ... Read More »