![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
#4
| |||
| |||
|
|
Can somebody please tell me whether the following syntax is supported or whether it's a "feature" that will someday stop working. It works in both SQL Server 2000 and 2005 at the moment. declare @var varchar(1000) set @var = '' select @var = @var + colx from some_table where col1 = some_value |
#5
| |||
| |||
|
|
Malc (M.B.Pinfold (AT) massey (DOT) ac.nz) writes: Can somebody please tell me whether the following syntax is supported or whether it's a "feature" that will someday stop working. It works in both SQL Server 2000 and 2005 at the moment. declare @var varchar(1000) set @var = '' select @var = @var + colx from some_table where col1 = some_value The correct result of this operation is undefined. You may get a concatenated list, or only a single value. I recommend against using this. There is a supported way to do this on SQL 2005 with help of FOR XML PATH. Unfortunately, I have the sample code at home only, so I cannot post it. |
#6
| |||
| |||
|
|
Malc (M.B.Pinfold (AT) massey (DOT) ac.nz) writes: Can somebody please tell me whether the following syntax is supported or whether it's a "feature" that will someday stop working. It works in both SQL Server 2000 and 2005 at the moment. declare @var varchar(1000) set @var = '' select @var = @var + colx from some_table where col1 = some_value The correct result of this operation is undefined. You may get a concatenated list, or only a single value. I recommend against using this. There is a supported way to do this on SQL 2005 with help of FOR XML PATH. Unfortunately, I have the sample code at home only, so I cannot post it. -- Erland Sommarskog, SQL Server MVP, esquel (AT) sommarskog (DOT) se Books Online for SQL Server 2005 at http://www.microsoft.com/technet/pro...ads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinf...ons/books.mspx |
#7
| |||
| |||
|
|
GN: Eg: To get the balance in a banking app. create table Test ( Client varchar(10), Bal money ) GO insert into test values ('1',10) GO declare @bal money declare @addition money select @addition = 100 update test set @bal = bal = bal + @addition select @bal [/end] The above example is clearly more advanced than the first, but it works. The thing is that if it isnt supported, then why is it being taught at the Tech Ed conferences? GN went on to specify that the method as shown above in Malc's post was taught as a way of doing a single field pivot. |
#8
| |||
| |||
|
#9
| |||
| |||
|
|
The results are random, based on the physical order of the data in storage. |
![]() |
| Thread Tools | |
| Display Modes | |
| |