DB2语法问题,求助
--获取文章Tag--drop function F_ConcatedTagname;create function F_ConcatedTagname(docid integer )returns varchar(8000)language sqlbegin --定义存放tag变量 DECLARE tagstr VARCHAR(8000) default ''; DECLARE resultvalue VARCHAR(8000) default ''; --定义错误代码 DECLARE sqlcode integer default 0; --定义游标 DECLARE querytag CURSOR FOR SELECT tagname FROM xwcmdoctag WHERE docid = docid and taggingnum > 0 FOR READ ONLY; --打开游标 OPEN querytag; --循环标记 tagloop: LOOP --抓取tagname数据 FETCH querytag INTO tagstr; --如果没有数据了,退出循环 IF sqlcode = 100 THEN LEAVE tagloop; END IF; set resultvalue = resultvalue || tagstr || ';'; END LOOP; close querytag; return resultvalue;end;commit;--创建获取WCMChnlDoc表上的RecId字段函数--drop function F_GetRecId;create function F_GetRecId(did int,cid int) RETURNS integer LANGUAGE SQLbegin return (Select recid from wcmchnldoc where docid = did and chnlid = cid FETCH FIRST 1 ROWS ONLY); end;commit;--创建获取WCMChnlDoc表上的Modal字段函数--drop function F_GetModal;create function F_GetModal(did int,cid int) RETURNS integer LANGUAGE SQLbegin return (Select modal from wcmchnldoc where docid = did and chnlid = cid FETCH FIRST 1 ROWS ONLY); end;commit;--创建获取WCMChnlDoc表上的DocOrderPri字段函数--drop function F_GetDocOrderPri;create function F_GetDocOrderPri(did int,cid int) RETURNS integer LANGUAGE SQLbegin return (Select docorderpri from wcmchnldoc where docid = did and chnlid = cid FETCH FIRST 1 ROWS ONLY); end;commit;--创建获取WCMChnlDoc表上的DocStatus字段函数--drop function F_GetStatus;create function F_GetStatus(did int,cid int) RETURNS integer LANGUAGE SQLbegin return (Select docstatus from wcmchnldoc where docid = did and chnlid = cid FETCH FIRST 1 ROWS ONLY); end;commit;--创建包含Tag和站点号的视图--drop view V_WCMDocumentAndTags;create view V_WCMDocumentAndTagsasSELECT WCMDOCUMENT.*,kmdoctags.DocTags AS DocTags,F_GetStatus(WCMDOCUMENT.DocId,WCMDOCUMENT.DocChannel) as docstatus1,F_GetRecId(WCMDOCUMENT.DocId,WCMDOCUMENT.DocChannel) as RecId,F_GetDocOrderPri(WCMDOCUMENT.DocId,WCMDOCUMENT.DocChannel) as DocorderPri,F_GetModal(WCMDOCUMENT.DocId,WCMDOCUMENT.DocChannel) as ModalFROM WCMDOCUMENT LEFT OUTER JOIN (SELECT docid, F_ConcatedTagname(docid) DocTags FROM xwcmdoctag GROUP BY docid) kmdoctags ON WCMDOCUMENT.DOCID = kmdoctags.docid WHERE (WCMDOCUMENT.DOCSTATUS > 0)