Ciao a tutti,
sto sviluppando una stored procedure e avrei la necessità di conoscere la versione di SQL Server per decidere se eseguire o meno un blocco di comandi. Ho pensato di utilizzare la stored procedure estesa xp_msver con l'opzione [ProductVersion] in questo modo EXEC master..xp_msver [ProductVersion].
Il comando restituisce:
Index Name Internal_Value Character_Value
------ -------------------------------- -------------- ------------
2 ProductVersion 524288 8.00.2039
Sono interessato al valore del campo Character_Value, che rappresenta la versione di SQL Server, e per estrarlo passo da una tabella temporanea in questo modo:
IF
EXISTS(SELECT * FROM tempdb..sysobjects WHERE ID = OBJECT_ID('tempdb..#tmpxp_msver')) DROP TABLE #tmpxp_msver
GO
CREATE
TABLE #tmpxp_msver (Indx int, Name sysname, InternalValue BigInt, Character_Value varchar(4000))
GO
INSERT #tmpxp_msver EXEC master..xp_msver [ProductVersion]
SELECT Character_Value From #tmpxp_msver
C'è un modo migliore per farlo ? E' il modo migliore per conoscere la versione di SQL Server (oltre a @@VERSION)
Grazie, ciao
Sergio