【发布时间】:2015-02-25 15:37:03
【问题描述】:
这是原始代码:
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TestStep',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'SSIS',
@command=N'/ISSERVER "\"\SSISDB\FolderName\ProjectName\PackageName.dtsx\"" /SERVER localhost /ENVREFERENCE 9 /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E',
@database_name=N'master', ...
我想做这样的事情(用动态值替换长字符串中ENVREFERENCE之后的值):
DECLARE @myVariable int
SET @myVariable = 10
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'TestStep',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'SSIS',
@command=N'/ISSERVER "\"\SSISDB\AccuCenter\AccuCenterDBImport\VehicleMake.dtsx\"" /SERVER localhost /ENVREFERENCE ' + @myVariable + N' /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E',
@database_name=N'master'
【问题讨论】:
-
... + cast(@myVariable as varchar(10) ) + ...
-
哪个 RDBMS ?!?!?
标签: sql stored-procedures parameters concatenation