SQL Server: использовать параметр в CREATE DATABASE

Я хочу указать путь, по которому файл данных и файл журнала создаются в сценарии SQL, используя параметры. Вот что я написал:

DECLARE @DataFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'

DECLARE @LogFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'


USE master
Go
CREATE DATABASE TestDB
ON 
PRIMARY 
( NAME = N'TestDB_Data', FILENAME = @DataFilePath )
LOG ON 
( NAME = N'TestDB_Log', FILENAME = @LogFilePath  )

GO

К сожалению, это не работает. Когда я пытаюсь запустить его в SQL Server Management Studio, я получаю ошибку

Неверный синтаксис рядом с

DECLARE @DataFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'

DECLARE @LogFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'


USE master
Go
CREATE DATABASE TestDB
ON 
PRIMARY 
( NAME = N'TestDB_Data', FILENAME = @DataFilePath )
LOG ON 
( NAME = N'TestDB_Log', FILENAME = @LogFilePath  )

GO

К сожалению, это не работает. Когда я пытаюсь запустить его в SQL Server Management Studio, я получаю ошибку

Неверный синтаксис рядом с

DECLARE @DataFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'

DECLARE @LogFilePath AS NVARCHAR(MAX)

SET @DataFilePath = N'C:\ProgramData\Gemcom\'


USE master
Go
CREATE DATABASE TestDB
ON 
PRIMARY 
( NAME = N'TestDB_Data', FILENAME = @DataFilePath )
LOG ON 
( NAME = N'TestDB_Log', FILENAME = @LogFilePath  )

GO

К сожалению, это не работает. Когда я пытаюсь запустить его в SQL Server Management Studio, я получаю ошибку

Неправильный синтаксис рядом с .

Я пытаюсь создать пакетный файл (.bat) для Windows XP, чтобы сделать следующее:

If (file.txt contains the string 'searchString') then (ECHO found it!) 
ELSE(ECHO not found)

На данный момент я нашел способ поиска строк внутри файла с помощью НАЙТИ , которая возвращает строку в файле, в которой она находит строку, но я не могу выполнить ее условную проверку.

Например, это не работает.

IF FIND "searchString" file.txt ECHO found it!

Также не работает:

IF FIND "searchString" file.txt=='' ECHO not found

Any Ideas как это можно сделать?

17
задан Ross Ridge 25 September 2017 в 14:19
поделиться