这似乎是一个非常基本的问题。
我有一个非常大的SQL语句,其中包含许多子查询,其中包含多个where子句中的日期限制
我们在ad-hoc基础上运行此查询,我必须在大约20个位置更改查询中的日期范围。所有地方的日期范围都相同。例如,2016年1月1日至2016年1月7日为例
在Teradata中,可以在查询开始时声明日期范围,例如像变量一样,然后在代码中引用此变量,这样我只需要更改一次吗?
我已经看到了declaration of variable in teradata的答案,但希望看到一个简单的示例,演示存储过程中日期范围的概念
感谢您的时间
答案 0 :(得分:0)
它不应该是变量,而应该是一个参数。你的存储过程将是这样的:
REPLACE PROCEDURE MyStoredProcedure
(
IN StartDate DATE
,IN EndDate DATE
)
BEGIN
DECLARE SomeOtherDate DATE; --if you need an actual date variable
--Your logic goes here
END;
然后在调用存储过程
时设置参数CALL MyStoredProcedure('2015-01-01','2015-12-31');