>SQL Server 2011 “Denali” – EXEC Komutunda WITH RESULT SETS Seçeneği

>SQL Server 2011 “Denali” ile gelen bir diğer özellik, EXEC komutu ile çağırdığımız Stored Procedure’den dönen result set’in kolon adlarını ve data type’larını yani metadatasını değiştirmek için kullanabileceğimiz WITH RESULT SETS seçeneği.

Hemen bir örnekle ne demek istediğimi açıklamaya çalışayım.

Önce bir SP create edelim.
create procedure dbo.getPersonContacts @Title varchar(5)
AS
select Title,FirstName,MiddleName,LastName
from Person.contact
where Title = @Title

Daha sonra klasik yöntemle SP’yi çağıralım.
Yapmak istediğim dönen result set’in kolon adlarını ve data type’larını değiştirmek. Bunun için aşağıdaki syntax’ı kullanabilirim.

exec dbo.getPersonContacts ‘Mr.’
WITH RESULT SETS
(
(
[myTitle] varchar(5) not null,
[myFirstName] varchar(50) not null,
[myMiddleName] varchar(50) null,
[myLastName] varchar(50) not null
)
)

Gördüğünüz gibi kolon adları bizim yazdığımız şekilde değişti.

Birden fazla result set içeren SP’lerde, her bir result set için bu tanımın verilmesi gerektiği notunu düşüp yazımı noktalıyorum.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s