sql используют оператор с переменной

Перейдите в папку, где находится корневой каталог вашего проекта, и:

xcodebuild -project projectname -activetarget -activeconfiguration archive
26
задан John Saunders 17 July 2009 в 12:22
поделиться

6 ответов

   exec sp_execsql @Sql

Изменение БД длится только до завершения @sql

http://blog.sqlauthority.com/2007/07/02/sql-server-2005-comparison-sp_executesql-vs-executeexec/

10
ответ дан 28 November 2019 в 07:33
поделиться

Проблема с первым состоит в том, что вы делаете ИСПОЛЬЗУЙТЕ 'myDB' , а не ИСПОЛЬЗУЙТЕ myDB . вы передаете строку; но USE ищет явную ссылку.

Последний пример мне подходит.

declare @sql varchar(20)
select @sql = 'USE myDb'
EXEC sp_sqlexec @Sql

-- also works
select @sql = 'USE [myDb]'
EXEC sp_sqlexec @Sql
9
ответ дан 28 November 2019 в 07:33
поделиться

попробуйте следующее:

DECLARE @Query         varchar(1000)
DECLARE @DatabaseName  varchar(500)

SET @DatabaseName='xyz'
SET @Query='SELECT * FROM Server.'+@DatabaseName+'.Owner.Table1'
EXEC (@Query)

SET @DatabaseName='abc'
SET @Query='SELECT * FROM Server.'+@DatabaseName+'.Owner.Table2'
EXEC (@Query)
3
ответ дан 28 November 2019 в 07:33
поделиться

Используйте exec sp_execsql @Sql

Пример

DECLARE @sql as nvarchar(100)  
DECLARE @paraDOB datetime  
SET @paraDOB = '1/1/1981'  
SET @sql=N'SELECT * FROM EmpMast WHERE DOB >= @paraDOB'  
exec sp_executesql @sql,N'@paraDOB datetime',@paraDOB
-1
ответ дан 28 November 2019 в 07:33
поделиться

Если SQLCMD является опцией, он поддерживает скриптовые переменные сверх того, что может делать обычный T-SQL. Например: http://msdn.microsoft.com/en-us/library/ms188714.aspx

1
ответ дан 28 November 2019 в 07:33
поделиться
-- If you are using a variable for the database name. 
-- Try something like this. 

DECLARE @DBName varchar(50)
Set @DBName = 'Database1'; /*  could be passed in by a parameter. */

IF( @DBName = 'Database1')
Begin
    USE [Database1];
SELECT  FROM Table1;
End

IF( @DBName = 'Database2')
Begin
USE [Database2];
SELECT  FROM Table2;
End

IF( @DBName is null)
Begin
USE [Database1];
End
-2
ответ дан 28 November 2019 в 07:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: