次の選択の結果を変数に保存したいとします。T-SQL:SELECTの動的変数に関する問題
SET @SearchSchema = '(SELECT REPLACE(name,''Change Log Setup'', ''Change Log Entry'') as Name FROM ['[email protected]+'].sys.tables where name LIKE ''%$Change Log Setup'')'
私はexec sp_executesqlでも試しました。ここで
は、全体のコードです:
DECLARE @DBName VARCHAR(5000);
DECLARE @period VARCHAR(5000);
DECLARE @SQLEXE VARCHAR(8000);
DECLARE @SearchSchema NVARCHAR(4000);
DECLARE @Authentification VARCHAR(1000);
DECLARE @Path VARCHAR(1000);
DECLARE @ServerName VARCHAR(1000);
SET @period = '''2017-01-01 00:00:00'' AND ''2017-12-31 23:59:59''';
SET @Path = 'C:\Users\Public\Documents\';
SET @Servername = '-S nav-ey-demo2\NAVDEMO';
SET @DBName = (SELECT name FROM master.dbo.sysdatabases where name LIKE '%NAV%');
EXECUTE ('USE [' + @DBName+']'); Select db_name();
SET @SearchSchema = '(SELECT REPLACE(name,''Change Log Setup'', ''Change Log Entry'') as Name FROM ['[email protected]+'].sys.tables where name LIKE ''%$Change Log Setup'')'
私は
SELECT @SearchSchema
を使用している場合は、正しい値が表示されます。
PRINT '@SEARCHSCHEMA ' + @SearchSchema
SELECT文字列を使用することにより
が表示されます。
SEARCHSCHEMA (SELECT REPLACE(name,'Change Log Setup', 'Change Log Entry') as Name FROM [Demo Database NAV (10-0)].sys.tables where name LIKE '%$Change Log Setup')
あなたの実際の問題点は明確ではありません。 – Kostis
私はSELECTの結果を変数に保存します。 – WIbadeneralp