sql-server - 如何将参数传递给将执行存储过程的 SQL 作业

标签 sql-server sql-server-2008 tsql sql-agent-job

我有以下代码(只有需要的部分)

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'SomeStep', 
        @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'TSQL', 
        @command=N'exec [dbo].[PORT_Insert_Record] ''https://localhost''',  
        @database_name=N'MyDatabase', 
        @flags=0

现在,我想通过 https://localhost将值转换为变量并传递给存储过程(由于某种原因,我无法在 SP 内部传递它)。

所以我试过了
DECLARE @domainName varchar(max)
DECLARE @sp varchar(max)
SET @domainName ='https://localhost:'
SET @sp ='exec [dbo].[PORT_Insert_Record]' + @domainName

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'InsertRecordIntoResellerOpportunities', 
        @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'TSQL', 
        @command=@sp,  
        @database_name=N'MyDatabase',  
        @flags=0

但它不起作用。我也在网上搜索任何想法/语法等。但到目前为止没有运气。

有任何想法吗?

最佳答案

那是什么@ReturnCode在那里做什么?它是在某处声明的吗?

我在一份新工作中尝试了这个,它奏效了:

DECLARE @domainName varchar(max)
DECLARE @sp varchar(max)
SET @domainName ='https://localhost:'
SET @sp ='exec [dbo].[PORT_Insert_Record]' + @domainName

    EXEC msdb.dbo.sp_add_jobstep @job_id=N'a756bfcb-2abf-4d7a-a871-85e234e7ef53', @step_name=N'Step 1', 
            @step_id=1, 
            @cmdexec_success_code=0, 
            @on_success_action=1, 
            @on_fail_action=2, 
            @retry_attempts=0, 
            @retry_interval=0, 
            @os_run_priority=0, @subsystem=N'TSQL', 
            @command=@sp, 
            @database_name=N'master', 
            @flags=0
    GO

关于sql-server - 如何将参数传递给将执行存储过程的 SQL 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10088427/

相关文章:

sql-server - SQL - 从单个字段中选择多个关键字值

sql-server - 动态更改 XML 节点名称以循环遍历 SQL Server 中的长列表

sql - 将 'LIKE' 与充满字符串的 'IN' 子句一起使用

mysql - SSMA。连接到 Azure SQL 数据库托管实例以从 MySQL 迁移到 Azure SQL

c# - 检测 sql-server 表上的更改

sql-server - 链接服务器插入选择性能

sql - 将表情符号/表情符号添加到 SQL Server 表

SQL : remove last comma in string

sql - 逐行(无光标或循环)

sql - ']'附近的语法不正确。