1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về SQL Server 2012 TSQL

7 674 5

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 170,64 KB

Nội dung

SQL Server 2012 Denali là phiên bản tiếp theo của máy chủ cơ sở dữ liệu Microsoft. Có một số tính năng mới được thêm vào TSQL để thực hiện nhiệm vụ phổ biến dễ dàng hơn nhiều. Tôi sẽ chỉ cho cách sử dụng một số tính năng mới trong bài viết này. ~Trình tự~ Tạo ra một số, số tự động hay còn gọi là trình tự, là một nhiệm vụ chung trong một ứng dụng doanh nghiệp. Đối với một bảng duy nhất, bạn có thể xác định lĩnh vực nhận dạng. Nhưng, nếu bạn muốn có cơ sở dữ liệu số tuần tự rộng, sau đó bạn phải nghĩ ra một cái gì đó của chính mình trước khi SQL Server 2012. Một giải pháp cho vấn đề này là tạo ra một bảng có một số lĩnh vực có thể được sử dụng để lưu trữ các số thứ tự, sau đó sử dụng SQL để tăng nó mỗi khi sử dụng một. Trong SQL Server 2012, chúng ta có một giải pháp mới sử dụng trình tự.

Trang 1

Sử dụng SQL Server 2012 T-SQL tính năng mới

SQL Server 2012 "Denali" là phiên bản tiếp theo của máy chủ cơ sở dữ liệu

Microsoft Có một số tính năng mới được thêm vào T-SQL để thực hiện nhiệm vụ phổ biến dễ dàng hơn nhiều Tôi sẽ chỉ cho cách sử dụng một số tính năng mới trong bài viết này

Trình tự

Tạo ra một số, số tự động hay còn gọi là trình tự, là một nhiệm vụ chung trong một ứng dụng doanh nghiệp Đối với một bảng duy nhất, bạn có thể xác định lĩnh vực nhận dạng Nhưng, nếu bạn muốn có cơ sở dữ liệu số tuần tự rộng, sau đó bạn phải nghĩ ra một cái gì đó của chính mình trước khi SQL Server 2012 Một giải pháp cho vấn đề này là tạo ra một bảng có một số lĩnh vực có thể được sử dụng để lưu trữ các

số thứ tự, sau đó sử dụng SQL để tăng nó mỗi khi sử dụng một Trong SQL Server

2012, chúng ta có một giải pháp mới - sử dụng trình tự

Tạo ra trình tự

Để tạo ra một chuỗi trong SQL Server 2012 là rất đơn giản Bạn có thể tạo ra nó với SQL Server Management Studio hoặc T-SQL

1. Tạo ra trình tự với SQL Server Management Studio

Trong cửa sổ Object Explorer trong SQL Server Management Studio, có một nút Sequences trong cơ sở dữ liệu -> [Tên cơ sở dữ liệu] -> lập trình Bạn có thể kích chuột phải vào nó để đưa lên menu ngữ cảnh, và sau đó chọn trình tự mới để mở cửa sổ trình tự mới Trong cửa sổ trình tự mới, bạn có thể xác định trình tự mới, như Tên Trình tự, sơ đồ trình tự, loại dữ liệu, chính xác, giá trị bắt đầu, bởi Tăng, vv Sau khi nhập tất cả các thông tin cần thiết, nhấn OK để lưu lại Các trình tự mới sẽ hiển thị trong Trình tự nút

2. Tạo ra chuỗi với T-SQL

Sau kịch bản T-SQL được sử dụng để tạo ra một chuỗi mới:

Collapse | Copy Code

CREATE SEQUENCE DemoSequence

START VỚI 1

Tăng 1;

Sử dụng trình tự

Mới NEXT VALUE FOR T-SQL từ khóa được sử dụng để có được số thứ tự tiếp theo từ một trình tự

Collapse | Copy Code

CHỌN GIÁ TRỊ CHO DemoSequence

Một điều tôi muốn đề cập ở đây là trình tự không hỗ trợ giao dịch, nếu bạn chạy kịch bản này:

Trang 2

Collapse | Copy Code

BEGIN TRẦN

Chọn Next GIÁ TRỊ CHO dbo.DemoSequence

ROLLBACK TRAN

Bạn có thể thấy ngay cả những giao dịch được cuộn lại ở cuối Các NEXT VALUE

FOR vẫn sẽ trả lại số thứ tự tiếp theo Hành vi này là phù hợp với lĩnh vực nhận dạng

Trang dữ liệu

Một tình trạng phổ biến để hiển thị trang là cách để hiển thị số lượng lớn các dữ liệu trong DataGrid Trước đó, các lập trình viên thường sử dụng tính năng nhắn tin

của DataGrid để xử lý tình trạng này Vì vậy, bằng cách chọn một số trang khác nhau, tập hợp dữ liệu khác nhau được hiển thị trên màn hình Tuy nhiên, làm thế nào để lấy

dữ liệu từ cơ sở dữ liệu đa dạng Một nhà phát triển có thể:

1. Lấy tất cả các dữ liệu từ cơ sở dữ liệu, và sau đó để cho DataGrid để chỉ hiển thị các dữ liệu trang hiện tại

2. Lấy dữ liệu trang hiện tại từ cơ sở dữ liệu bằng cách sử dụng temp bảng

3. Lấy dữ liệu trang hiện tại từ cơ sở dữ liệu bằng cách sử

dụng ROW_NUMBER() chức năng

SQL Server 2012 cung cấp một cách thức mới để lấy dữ liệu trang hiện tại từ

cơ sở dữ liệu

Collapse | Copy Code

SELECT *

TỪ Khách hàng

TỰ DO CustomerID

OFFSET 10 ROWS

Lấy NEXT 10 hàng ONLY;

Các OFFSET từ khóa và FETCH NEXT từ khóa cho phép các nhà phát triển để chỉ lấy dữ liệu từ cơ sở dữ liệu phạm vi nhất định Nếu bạn so sánh mã này

vớiROW_NUMBER() chức năng được giới thiệu trong SQL Server 2008, bạn có thể thấy kịch bản này ngắn hơn và trực quan hơn

Collapse | Copy Code

SELECT *

TỪ (

SELECT ROW_NUMBER () OVER (ORDER BY khách hàng) AS sequencenumber, *

TỪ Khách hàng) AS temptable

Đâu sequencenumber> 10 và sequencenumber <= 20

Xử lý ngoại lệ

SQL Server 2005 giới thiệu TRY CATCH khối để xử lý ngoại lệ trong T-SQL Các TRY CATCH khối tương tự như bất cứ điều gì trong ngôn ngữ C #, ngoại trừ bạn cần luôn luôn nâng cao một ngoại lệ mới sau khi đánh bắt nó Không có cách nào để chỉ đơn giản tái ném nó

Một mẫu của T-SQL kịch bản với xử lý ngoại lệ trong SQL Server 2005:

Collapse | Copy Code

Trang 3

BEGIN TRY

BEGIN GIAO DỊCH - Bắt đầu giao dịch

- Xóa khách hàng

DELETE FROM khách hàng

Đâu EmployeeID = 'CACTU'

- Cam kết thay đổi

COMMIT GIAO DỊCH

END TRY

BEGIN CATCH

- Có một lỗi

NẾU @ @ TRANCOUNT> 0

ROLLBACK GIAO DỊCH

- Nâng cao một lỗi với các chi tiết của các ngoại lệ

DECLARE @ ERRMSG nvarchar (4000), @ ErrSeverity int

SELECT @ ERRMSG = ERROR_MESSAGE (),

@ ErrSeverity = ERROR_SEVERITY () RAISERROR (@ ERRMSG, @ ErrSeverity, 1)

END CATCH

Trong SQL Server 2012, bằng cách sử dụng Throw từ khóa, kịch bản trên sẽ được thay đổi như sau:

Collapse | Copy Code

BEGIN TRY

BEGIN GIAO DỊCH - Bắt đầu giao dịch

- Xóa khách hàng

DELETE FROM khách hàng

Đâu EmployeeID = 'CACTU'

- Cam kết thay đổi

COMMIT GIAO DỊCH

END TRY

BEGIN CATCH

- Có một lỗi

ROLLBACK GIAO DỊCH

- Re ném ngoại lệ

THROW

END CATCH

Ngoài ra, bạn có thể sử dụng Throw để thay thế RAISERROR chức năng:

Collapse | Copy Code

THROW 51000, "Biên bản không tồn tại ', 1;

Tăng cường EXECUTE từ khóa

Các EXECUTE từ khóa được sử dụng để thực hiện một chuỗi lệnh Các phiên bản trước SQL Server chỉ có WITH RECOMPILE tùy chọn để buộc kế hoạch mới được tái biên soạn SQL Server 2012 được cải thiện đáng kể phần này Phần tùy chọn là như thế này ngay bây giờ

Trang 4

Collapse | Copy Code

[VỚI <execute_option> [, n]]

<execute_option> :: =

{

Biên dịch lại

| {KẾT QUẢ TẬP UNDEFINED}

| {BỘ KẾT QUẢ NONE}

| {BỘ KẾT QUẢ (<result_sets_definition> [, n])}

}

<result_sets_definition> :: =

{

(

{Column_name data_type [Đối chiếu collation_name]

[NULL | NOT NULL]}

[, N]

)

| AS VẬT

[Db_name [Schema_name] | Schema_name ] {Tên_bảng | view_name | table_valued_function_name}

| AS LOẠI [schema_name.] Table_type_name

| AS FOR XML

}

Cách sử dụng các tùy chọn bổ sung mới là như thế này:

Collapse | Copy Code

EXEC CustOrderDetail '2 '

VỚI BỘ KẾT QUẢ

(

(

ProductName1 varchar (100),

Unitprice1 varchar (100),

Quantity1 varchar (100),

Discount1 varchar (100),

ExtendedPrice1 varchar (100)

)

);

Nhận Siêu dữ liệu

Ứng dụng đôi khi cần cái nhìn sâu sắc hơn của tập kết quả kịch bản SQL Trong quá khứ, bạn cần phải viết một kịch bản phức tạp để truy vấn bảng hệ thống hoặc quan điểm, ví dụ như sys.objects , để có được tất cả các thông tin Trong SQL Server

2012, hệ thống mới được lưu trữ thủ tục sp_describe_first_set làm cho công việc tầm thường

Collapse | Copy Code

sp_describ_first_result_set @ TSQL = N'SELECT * FROM khách hàng

Tóm tắt

Trang 5

Có nhiều tính năng T-SQL mới trong SQL Server 2012 sắp tới Phần lớn trong số họ được thiết kế để nâng cao hiệu quả phát triển và làm giảm nỗ lực phát triển

Đoạn Surround và tính năng trong SQL Server 2012

Giới thiệu

SQL Server 2012 Management Studio bây giờ trông như Visual Studio Nó hiện nay bao gồm nhiều tính năng hơn để thu hút các nhà phát triển VS

Trong bài viết này chúng tôi sẽ có một cái nhìn tại hai cải tiến mới: các tùy chọn trình đơn Insert số câu liên quan và Menu vòm với các tùy chọn

Sử dụng mã

Chèn đoạn

Chèn số câu liên quan cho phép chúng ta tạo ra các cấu trúc cơ bản của một tuyên bố Transact-SQL hoặc khối

Bắt đầu

Để bắt đầu một số câu liên Insert, kích chuột phải vào SQL Server Management Studio Script Pane và chọn Insert số câu liên quan hoặc nhấn Ctrl + K / Ctrl + X

Bạn có thể dễ dàng tạo ra câu lệnh T-SQL để tạo ra chức năng, chỉ số, Đăng nhập, vai trò, lược đồ, Thủ tục lưu trữ, đồng nghĩa, bảng, và các nút bấm

Chúng ta hãy lấy một ví dụ cho việc tạo ra một bảng

Trang 6

Chọn tùy chọn Create Table.

Các mã được tạo ra như sau:

Collapse | Copy Code

CREATE TABLE dbo.Sample_Table

(

column_1 int NOT NULL,

column_2 int NULL

);

Nó rất hữu ích cho việc tạo ra ví dụ đơn giản cho mục đích thử nghiệm

Tôi xem xét lại các thủ tục lưu trữ và nó tạo ra mã cho ba kịch bản: những kịch bản này là thủ tục lưu trữ cơ bản, thủ tục lưu trữ với con trỏ và Thủ tục lưu trữ với các thông số đầu ra

Các mã được tạo ra là khá đơn giản và hữu ích:

Collapse | Copy Code

THỦ TỤC TẠO dbo.Sample_Procedure

@ Param1 int = 0,

@ Param2 int

AS

SELECT @ param1, param2 @

TRẢ LẠI 0

Bao quanh với tùy chọn

Tùy chọn mới khác là Surround với

Trang 7

Các vòm sẽ cho phép chúng tôi tạo ra BEGIN END khoản, trong khi đó vòng lặp, và

IF điều kiện dễ dàng

Để kích hoạt tùy chọn này, kích chuột phải vào SQL Server Management Studio Script Pane và chọn Surround với hoặc nhấn Ctrl + K / Ctrl + S

Collapse | Copy Code

'' BEGIN END: BEGIN END '' Nếu tình trạng '' IF (Điều kiện) BEGIN END '' Trong khi vòng lặp while (điều kiện) BEGIN END

Ngày đăng: 18/05/2016, 14:35

TỪ KHÓA LIÊN QUAN

w