【发布时间】:2016-05-13 06:02:22
【问题描述】:
我真的需要有人来救我。运行以下存储过程时出现此错误:x 和 y 是日期列,z 是整数一。我曾经解决这些错误。但是这个很执着!我使用了所有在动态变量周围添加逗号或重新格式化输入日期的方法,但没有一种方法有效。它的静态查询工作正常。感谢您的帮助!
exec SP_DIV_SKU_TIMEFRAME_SALES_V1( 14 ,'2015-02-04','2015-02-15')
"ERROR [01000] NOTICE: Error occurred while executing PL/pgSQL function SP_DIV_SKU_TIMEFRAME_SALES_V1
ERROR [01000] NOTICE: line 8 at execute statement
ERROR [HY000] ERROR: Inconsistent datatypes 'DATE' and 'INT4'"
CREATE OR REPLACE PROCEDURE SP_DIV_SKU_TIMEFRAME_SALES_V1(INT, date , date))
RETURNS INTEGER
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
item ALIAS FOR $1;;
date1 ALIAS FOR $2;
date2 ALIAS FOR $3;
sql varchar(30000) ;
BEGIN
sql:='
create table DEVML_WORK..XxXX as
select x, y, z from k
where x > '|| date1 ||' and y < '||date2||' and z < '||item||';' ;
RAISE NOTICE '%', sql;
Execute immediate sql;
END;
END_PROC;
【问题讨论】:
标签: sql date stored-procedures dynamic netezza