你好在存储过程中,我创建一个临时表填充选择至极执行函数返回日期重现。存储过程临时表与参数
我的临时表的创建如下:
BEGIN
insert into #tmp_recu
SELECT * FROM dbo.CrontabSchedule('0 0 * * *', '2017-2-1', '2017-2-28')
END
创建该临时表之后,我用这个临时表执行下面的查询:
Select * from mission
Cross Join #temp_recu
问题是我'我想在我的临时表中创建'0 0 * * *'由任务表中的字段(字段名为recurrence),所以我怎么能这样做呢?
谢谢!
编辑
其实,在我的询问,我想调用的函数“CrontabSchedule”,并把在参数字段从“使命”表是这样的:
select * from mission m
cross join select * from dbo.CronTabSchedule(mission.reccurence,'2017-1-1','2017-1-31')
它的工作原理时,我调用的函数这样
select * from dbo.CronTabSchedule('0 0 * * *','2017-1-1','2017-1-31')
但是,当我替换 '0 0 * * *' 由 'Mission.recurrence'(其包含的每个任务的循环模式)中,i具有一个错误:
无法绑定多部分标识符“Mission.recurrence”。
CrontabSchedule代码:
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER FUNCTION [dbo].[CrontabSchedule](@Expression [nvarchar](100), @Start[datetime], @End [datetime])
RETURNS TABLE (
[Occurrence] [datetime] NULL
) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [NCrontabSQL].[NContab.SQL.SqlCrontab].[GetOccurrences]
该函数返回一个表名为 'Occurence' 一列包含日期列表。
只是不''选择*'并只选择你想要的字段吗?或者我错过了什么? –
你在寻找一个表值函数吗? –
请参阅以下链接以了解如何提出完美问题:https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – TheGameiswar