SQL Serverでいくつかの変数を設定するためにexec句でdinamicクエリを使用したいが、正しく機能しません。SQL ServerでEXEC combineとSET句を使用する方法
私のコードは次のようである:
DECLARE
@ProjectCode varchar(25),
@TypeCode varchar(25),
@BomDate varchar(25),
@TbNameBom varchar(25),
@BomProgressCal int
SET @ProjectCode = 'PRO160604'
SET @TypeCode = 'PS-BPRG15AGW'
SET @BomDate = '8/19/2016'
SET @TbNameBom = 'z'[email protected]
EXEC('
SET @BomProgressCal = (SELECT AVG([Bod Progress]) FROM [PMLite].[dbo]. ['[email protected]+']
WHERE ([Project Code] = @ProjectCode) AND
([Type Code] = @TypeCode) AND
([Bom Date] = @BomDate))
')
PRINT @BomProgressCal
このエラーが表示されます:
メッセージ137、レベル15、状態2、行3
はスカラー変数 "@ProjectCode" を宣言する必要があります。