我有一个有效的脚本。我想把它变成一个过程,所以我可以从应用程序中调用该过程。但是,我在脚本中有2个参数,这些参数构成了用于调用Web服务的URL的一部分。所述脚本如下。
我的应用程序会将两个参数传递给URL,即日期和html.Div(
[
html.Div([
html.Div([
html.H1(children='PERFORMANCE REPORT AUGUST',
style={
'color':'#36A9DE'
}, className='nine columns'),
html.Img(
src="https://media.go2speed.org/brand/files/sevengames/804/asdpree.png",
className='three columns',
style={
'height': '12%',
'width': '12%',
'float': 'right',
'position': 'relative',
'padding-top': 0,
'padding-right': 0
},
),
html.Div(children='''*Created using Plotly Dash Python framework''',
className='nine columns'
)
], className="row"
)
]),
html.Div([
html.Div([
dcc.Graph(
id='example-graph'
)], className='six columns'
)
], className='row'
)
]
)
。两者在脚本中均以粗体斜体突出显示。是的,脚本将从相关应用程序的JSON输出中返回正确的值。因此,一切都按原样进行。
现在,我想将其创建为从我的应用程序(PowerApps应用程序)调用的过程,但是将日期和Staff.ID
都传递给该过程。我曾尝试通过使用声明语句和参数来构造URL,但是没有用。
脚本:
Staff.ID
答案 0 :(得分:0)
我假设您的查询所有工作正常,并且将其封装在SP中:
create procedure dbo.MyProcedureName
(
@Date date
, @StaffId int
)
as
begin
DECLARE @response NVARCHAR(max), @Url varchar(max);
set @Url = 'https://powercomm.simprosuite.com/api/v1.0/companies/1/schedules/?access.token=383abc4084a2b8dcbf508252e4a0313762fd623b&Date=' + convert(varchar(10), @Date, 23) + '&Staff.ID=' + convert(varchar(38),@StaffId);
--get the data from the provider as JSON
EXECUTE dbo.GetWebService @Url, @response OUTPUT;
--insert into Schedules (SchedID, Type, JobNo, TotalHrs, EmployeeID, SchedDate, StartTime, FinishTime)
select SchedID, Type, JobNo, TotalHrs, EmployeeID, SchedDate, StartTime, FinishTime
FROM OpenJson(@response);
with (SchedID numeric N'$.ID', Type CHAR(15) N'$.Type', JobNo nvarchar(5) N'$.Reference', TotalHrs Dec(4,2) N'$.TotalHours', SchedDate Date N'$.Date', EmployeeID numeric(6) N'$.Staff.ID', Blocks nvarchar(max) N'$.Blocks' as JSON)
OUTER APPLY OpenJson(Blocks)
WITH (StartTime datetimeoffset N'$.ISO8601StartTime', FinishTime datetimeoffset N'$.ISO8601EndTime' );
END
go