Tôi có đoạn code dưới đây (chỉ có phần đó là cần thiết)Làm thế nào để vượt qua một tham số để một công việc SQL sẽ thực hiện một thủ tục lưu trữ
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @[email protected], @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
Bây giờ, tôi muốn vượt qua giá trị https://localhost
vào một biến và chuyển sang thủ tục đã lưu trữ (vì một số lý do tôi không thể vượt qua nó bên trong SP).
Vì vậy, tôi đã cố gắng
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 @[email protected], @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',
@[email protected],
@database_name=N'MyDatabase',
@flags=0
nhưng nó không được làm việc. Tôi cũng tìm kiếm trên mạng cho bất kỳ ý tưởng/cú pháp vv .. nhưng không có may mắn như của bây giờ.
Bất kỳ ý tưởng nào?
như thế nào là ** KHÔNG LÀM VIỆC ** là gì - bạn có nhận được một lỗi ?? Nếu vậy: ** lỗi gì ** ?? Là nó chạy nhưng không làm những gì bạn mong đợi nó để làm gì ?? Sau đó: những gì ** là ** nó làm so với những gì bạn đã mong đợi ** ...... bạn cần cung cấp thêm chi tiết ở đây! –