With DateRange(dt) As
4 Réponses :
Ajouter des points-virgules:
Est-ce nécessaire avant avec la déclaration?
Eh bien, oui, "Si cette déclaration est une expression de table commune ... L'énoncé précédent doit être terminé avec un point-virgule." Vous avez un CTE Droite?
@Nilish: Si je ne suis pas très erroné, SQL Server 2005 tolère l'absence d'un point-virgule avant avec ... code> (CTE) dans certaines situations, mais en commençant par SQL Server 2008, vous devez toujours I> Mettez un point-virgule avant
avec code>.
Il convient de souligner que, parfois, tout ce qui est nécessaire est un demi-point juste avant la déclaration avec la déclaration ... même s'il n'y a pas de code avant la déclaration. Il suffit de placer un demi-côon sur une ligne vierge au-dessus de votre déclaration.
@aquinas j'ai un problème similaire posté ici , mais le contexte est différent, donc je ne sais pas si vous auriez des suggestions .
Essayez cette syntaxe:
J'ai eu le même problème avec SQL Server 2017. Utilisez Semicolon avant la déclaration suivante.
;WITH
J'ai essayé votre suggestion, mais obtenez maintenant une erreur différente postée ici . Aucune suggestion?
J'ai fait face à ce problème lorsque vous travaillez sur un serveur MS SQL Server 2012.
J'essayais de restaurer une base de données à l'aide du script ci-dessous P>
USE master; GO ALTER DATABASE [com.mydb.dev] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO RESTORE DATABASE [com.mydb.dev] FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\com.mydb.dev_21-08-2020.bak' WITH REPLACE, STATS = 10, RESTART, MOVE 'com.my_db.dev' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\com.mydb.dev.mdf', MOVE 'com.mydb.dev_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\com.mydb.dev_log.ldf' GO ALTER DATABASE [com.mydb.dev] SET MULTI_USER; GO