Bonjour, j'utilise SQLServer 2012 pour un site internet, en voulant modifier le caractère '?' par ''' dans un champs NTEXT je me suis apperçu qu'il était obsolète.
En faisant des recherches je suis tombé sur le blog http://blog.developpez.com/sqlpro/p1...types-obsoletes qui propose un script pour rechercher les champs obsolètes et proposer des scripts pour les passer au nouveaux types de champs.
Par exemple pour le type DATETIME -->
Mais SQLManagementStudio me retourne invariablement la même erreur sur tous les types que je souhaites transformer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 BEGIN TRANSACTION; BEGIN TRY EXEC ('ALTER TABLE [dbo].[Commandes] ADD [Date_com_tmp] DATETIME2(3);') EXEC ('UPDATE [dbo].[Commandes] SET [Date_com_tmp] = [Date_com];') EXEC ('ALTER TABLE [dbo].[Commandes] DROP COLUMN [Date_com];') EXEC sp_rename '[dbo].[Commandes].[Date_com_tmp]', 'Date_com'; COMMIT; END TRY BEGIN CATCH DECLARE @ERR NVARCHAR(1200); SET @ERR = ERROR_MESSAGE(); IF XACT_STATE() 0 ROLLBACK; RAISERROR(@ERR, 16, 1); END CATCH; GO
Soit la ligne : IF XACT_STATE() 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Msg*102, Niveau*15, État*1, Ligne*13 Syntaxe incorrecte vers '0'.
Quelqu'un aurait-il une solution ? car là je sèche....![]()
Partager