我有我的存儲過程中的查詢:格式字符串時使用存儲過程在SQL Server 2005
IF @backup = 0
BEGIN
SELECT sql = 'BACKUP DATABASE MyDatabase TO DISK="'[email protected]+'"';
END
@file
是nvarchar(MAX)
和backup
是int
。
如果我執行,如存儲過程:
DECLARE @return_value int
EXEC @return_value = [dbo].[usp_cp_backup_restore_db]
@backup = 0,
@file = N'C:\backupFiles\MyDatabase.bak'
但結果變成: BACKUP DATABASE ContentPlatform TO DISK="C:\backupFiles\MyDatabase.bak"
我希望出現BACKUP DATABASE ContentPlatform TO DISK='C:\backupFiles\MyDatabase.bak'
因爲正確的格式是
BACKUP
DATABASE MyDatabase TO
DISK='C:\MyDatabase.bak'
有什麼建議嗎?
感謝
然後將成爲'BACKUP DATABASE ContentPlatform TO DISK = @文件' –
這是錯誤的。你不能只用'''把''放在字符串中。這將終止字符串。你需要''''而不是*(對於你想要的字符串中的每個''')*。 – MatBailie
修復缺少' –