db2存储过程。问题 - [英] db2 stored proc. problem -

查看:90
本文介绍了db2存储过程。问题 - 的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用这个sql update语句在

db2 sql存储过程中工作或者如果我尝试将其作为输入脚本执行时遇到问题

到db2命令线。如果我在我们使用的另一个产品(dbartisan)上使用SQL编辑器

执行它,它可以正常工作。会发生的是第一个

SET成功发生(GAP.STATUS =''P''),但第二组

GAP.DT_TM_PBLSHD不起作用。对此有任何想法将是

赞赏。


谢谢,

Julie


UPDATE GWA.GWA_ACCTNG_PRD作为GAP

SET GAP.STATUS =''P'',

GAP.DT_TM_PBLSHD =(SELECT TIMESTAMP(QFB.RUN_DATE,

QFB.RUN_TIME)

从STAR.VSTR_QFB作为QFB,STAR.TSTR_PPADJ_CTL_165

作为PPC,

GWA.GWA_ACCTNG_PRD作为GAP1

WHERE CHAR(QFB.RUN_DATE)=

CHAR(SUBSTR(PPC.PUBL_MTS_DATE,1,4)||'' - ''||

SUBSTR(PPC.PUBL_MTS_DATE,5,2)||'' - ''||

SUBSTR(PPC.PUBL_MTS_DATE,7,2))和

QFB.REPORT_ID =''STM0SMTS''和

PPC.ACCTNG_DATE = GAP1.ACCTNG_PRD

和GAP1.STATUS =''O''

AND(LTRIM(RTRIM(COALESCE(CHAR(GAP1.DT_TM_PBLSHD),'''')))='''')

AND((LTRIM(RTRIM)(COALESCE((选择PPC。 PUBL_MTS_DATE

从STAR.TSTR_PPADJ_CTL_165作为PPC

在哪里PPC.ACCTNG_DATE = GAP1.ACCTNG_PR D),''''))))<>

'''')


WHERE GAP.STATUS =''O' '和

(LTRIM(RTRIM(CO(GAP.DT_TM_PBLSHD),'''')))''''')和

((LTRIM( RTRIM(COALESCE((选择PPC.PUBL_MTS_DATE

来自STAR.TSTR_PPADJ_CTL_165作为PPC

WHERE PPC.ACCTNG_DATE = GAP.ACCTNG_PRD),''''))))< ;> '''')

解决方案

slaterjas写道:

我在获取此sql update语句时遇到问题在db2 sql存储过程中工作,或者我尝试将其作为输入脚本执行到db2命令行。如果我在我们使用的另一个产品(dbartisan)上使用SQL编辑器执行它,它可以正常工作。会发生的事情是第一次成功发生(GAP.STATUS =''P''),但第二组
GAP.DT_TM_PBLSHD不起作用。任何想法都将受到赞赏。

更新GWA.GWA_ACCTNG_PRD作为GAP
SET GAP.STATUS =''P'',
GAP.DT_TM_PBLSHD =( SELECT TIMESTAMP(QFB.RUN_DATE,
QFB.RUN_TIME)



[...]


错误是什么你得到了什么?


-

Knut Stolze

信息集成

IBM德国/大学Jena


slaterjas写道:

我在使用这个sql update语句工作时遇到问题
db2 sql存储过程或者如果我尝试将其作为输入脚本执行到db2命令行。如果我在我们使用的另一个产品(dbartisan)上使用SQL编辑器执行它,它可以正常工作。第一集成功发生(GAP.STATUS =''P''),但第二集
GAP.DT_TM_PBLSHD不起作用。对此的任何想法都将受到赞赏。

UPDATE GWA.GW A_ACCTNG_PRD为GAP
SET GAP.STATUS =''P'',
GAP.DT_TM_PBLSHD =(SELECT TIMESTAMP(QFB.RUN_DATE,
QFB.RUN_TIME)



[...]


你得到的错误是什么?


-

Knut Stolze

信息集成

IBM德国/耶拿大学


不起作用

任何更具体的方法?就像转发错误消息一样....


Serge Rielau

DB2 SQL编译器开发

IBM多伦多实验室

I am having problems getting this sql update statement to work in a
db2 sql stored procedure or if I try to execute it as an input script
to db2 command line. It works fine if I execute it using a SQL editor
on another product we use (dbartisan). What happens is that the first
SET occurs successfully (GAP.STATUS = ''P''), but the 2nd set
GAP.DT_TM_PBLSHD does not work. Any ideas on this would be
appreciated.

Thanks,
Julie

UPDATE GWA.GWA_ACCTNG_PRD as GAP
SET GAP.STATUS = ''P'',
GAP.DT_TM_PBLSHD = (SELECT TIMESTAMP(QFB.RUN_DATE,
QFB.RUN_TIME)
FROM STAR.VSTR_QFB as QFB, STAR.TSTR_PPADJ_CTL_165
as PPC,
GWA.GWA_ACCTNG_PRD as GAP1
WHERE CHAR(QFB.RUN_DATE) =
CHAR(SUBSTR(PPC.PUBL_MTS_DATE,1,4) || ''-'' ||
SUBSTR(PPC.PUBL_MTS_DATE,5,2) || ''-'' ||
SUBSTR(PPC.PUBL_MTS_DATE,7,2)) AND
QFB.REPORT_ID = ''STM0SMTS'' AND
PPC.ACCTNG_DATE = GAP1.ACCTNG_PRD
and GAP1.STATUS = ''O''
AND (LTRIM(RTRIM(COALESCE(CHAR(GAP1.DT_TM_PBLSHD),'''')) ) = '''')
AND ((LTRIM(RTRIM(COALESCE((SELECT PPC.PUBL_MTS_DATE
FROM STAR.TSTR_PPADJ_CTL_165 as PPC
WHERE PPC.ACCTNG_DATE = GAP1.ACCTNG_PRD),'''')))) <>
''''))

WHERE GAP.STATUS = ''O'' AND
(LTRIM(RTRIM(COALESCE(CHAR(GAP.DT_TM_PBLSHD),''''))) = '''') AND
((LTRIM(RTRIM(COALESCE((SELECT PPC.PUBL_MTS_DATE
FROM STAR.TSTR_PPADJ_CTL_165 as PPC
WHERE PPC.ACCTNG_DATE = GAP.ACCTNG_PRD),'''')))) <> '''')

解决方案

slaterjas wrote:

I am having problems getting this sql update statement to work in a
db2 sql stored procedure or if I try to execute it as an input script
to db2 command line. It works fine if I execute it using a SQL editor
on another product we use (dbartisan). What happens is that the first
SET occurs successfully (GAP.STATUS = ''P''), but the 2nd set
GAP.DT_TM_PBLSHD does not work. Any ideas on this would be
appreciated.

UPDATE GWA.GWA_ACCTNG_PRD as GAP
SET GAP.STATUS = ''P'',
GAP.DT_TM_PBLSHD = (SELECT TIMESTAMP(QFB.RUN_DATE,
QFB.RUN_TIME)


[...]

What''s the error that you got?

--
Knut Stolze
Information Integration
IBM Germany / University of Jena


slaterjas wrote:

I am having problems getting this sql update statement to work in a
db2 sql stored procedure or if I try to execute it as an input script
to db2 command line. It works fine if I execute it using a SQL editor
on another product we use (dbartisan). What happens is that the first
SET occurs successfully (GAP.STATUS = ''P''), but the 2nd set
GAP.DT_TM_PBLSHD does not work. Any ideas on this would be
appreciated.

UPDATE GWA.GWA_ACCTNG_PRD as GAP
SET GAP.STATUS = ''P'',
GAP.DT_TM_PBLSHD = (SELECT TIMESTAMP(QFB.RUN_DATE,
QFB.RUN_TIME)


[...]

What''s the error that you got?

--
Knut Stolze
Information Integration
IBM Germany / University of Jena


"does not work"
Any way to be more specific? Like a dump of the error message....

Serge Rielau
DB2 SQL Compiler Development
IBM Toronto Lab


这篇关于db2存储过程。问题 - 的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆