你可以使用光標:
declare @curse cursor
set @curse = cursor fast_forward for
select ID, FirstName, LastName
from Customers
declare @id int,
@firstName varchar(32),
@lastName varchar(32)
open @curse
fetch next from @curse into @id, @firstName, @lastName
while (@@fetch_status = 0)
begin
Print N'Customer ID: ' + @id
Print N'First Name: ' + @firstName
Print N'Last Name: ' + @lastName
fetch next from @curse into @id, @firstName, @lastName
end
close @curse
或者你可以做到這一點沒有:
select 'Customer ID: ' + cast(ID as varchar(32)) + char(13) + char(10) +
'First Name: ' + FirstName + char(13) + char(10) +
'Last Name: ' + LastName + char(13) + char(10)
from Customers
使用Ctrl + T
改變你的輸出如果您使用第二種方法,則從網格到文本模式的SSMS。
你可以把它當作XML。 – MarcinJuraszek 2013-04-20 15:11:49
你爲什麼要這樣做? PRINT輸出對於客戶端應用程序消耗和減慢很困難。 – RBarryYoung 2013-04-20 15:13:08
@RBarryYoung:我已經開發了26年的軟件,並且很好地掌握瞭解析文本輸出的難度。在這種情況下,我將簡單地複製輸出並將其粘貼到電子郵件中。我清楚我需要什麼。但是,我的大部分專業知識不在SQL Server中。我可以輕鬆地在C#中創建一些東西,但如果SQL Server能夠在簡單的查詢中處理這個有點瑣碎的任務,那將會非常方便。 – 2013-04-20 15:18:01