展开全部
不要用斜杠
我看看我这个。没问题PROCEDUREPro_SelectBidUnit_NOWTIME_ALL(INP_IDVARCHAR(64),
INP_IFIDVARCHAR(64),
INP_USERIDVARCHAR(64),
INBEGINTIMEDATETIME,
INENDTIMEDATETIME
)
BEGIN
DECLAREv_sqlVARCHAR(4000);
DECLARElevINT;
SETlev=1;
IFP_USERID!=''
THEN
DROPTABLEIFEXISTStmp3;
CREATETABLEtmp3(
IFIDVARCHAR(40),
IFNAMEVARCHAR(50),
INS_IFIDVARCHAR(40),
levvINT
);
INSERTtmp3
SELECTIFID
,IFNAME
,INS_IFID
,1
FROM
institutionalframework
WHERE
INS_IFID=P_IFID;
WHILEROW_COUNT()>0
DO
SETlev=lev+1;
INSERTtmp3
SELECTt.IFID
,t.IFName
,t.INS_IFID
,lev
FROM
institutionalframeworkt
INNERJOINtmp3a
ONt.INS_IFID=a.IFIDANDlevv=lev-1;
ENDWHILE;
INSERTtmp3
SELECTIFID
,IFNAME
,INS_IFID
,0
FROM
institutionalframework
WHERE
IFID=P_IFID;
ENDIF;
SET@e69da5e887aa62616964757a686964616f31333337383166v_sql=concat('
SELECTa.ID
,a.BIDTOTALPRICES
,a.BOOLTENDER
,BIDINVITINGUNIT
,ITEMNAME
,BIDINVITINGNUMBER
,ITEMRATIFYUNIT
,RATIFYNUMBER
,BIDINVITINGUSER
,BIDINVITINGPHONE
,STARTTIME
,ITEMSTYPE
,ENTRUSTAMOUNT
,ENTRUSTDATE
,NOTICETIMEONE
,NOTICETIMETWO
,NOTICETIMETHREE
,SELLBIDFILETIME
,ITEMPART
,RECORDUSER
,RECORDTIME
,BIDSTART
,a.MEMO
,FLOWSTART
,b.IFID
,b.IFNAME
,c.IDASDICID
,c.ITEMTEXT
,PRINCIPALUSER
,PRINCIPALPHONE
,PRINCIPALEMAIL
,SYNCHRONFLAG
FROM
tenders_bidinvitingunia
INNERJOININSTITUTIONALFRAMEWORKb
ONa.ITEMPART=b.IFID
INNERJOINTENDERS_DICTIONARYITEMc
ONc.ID=a.ITEMSTYPE
WHEREa.BIDSTART=1');
IFBEGINTIME!=''
THEN
SET@v_sql=concat(@v_sql,'anda.STARTTIMEBETWEEN');
SET@v_sql=concat(@v_sql,'date(''');
SET@v_sql=concat(@v_sql,BEGINTIME);
SET@v_sql=concat(@v_sql,''')');
SET@v_sql=concat(@v_sql,'ANDdate(''');
SET@v_sql=concat(@v_sql,ENDTIME);
SET@v_sql=concat(@v_sql,''')');
ELSE
SET@v_sql=concat(@v_sql,'a.STARTTIMEBETWEENcurdate()ANDdate_add(curdate(),INTERVAL0DAY)');
ENDIF;
IFP_ID!=''
THEN
SET@v_sql=concat(@v_sql,'anda.ID=');
SET@v_sql=concat(@v_sql,P_ID);
SET@v_sql=concat(@v_sql,'');
ENDIF;
IFP_USERID!=''
THEN
SET@v_sql=concat(@v_sql,'ANDEXISTS(SELECT1
FROM
tmp3f
WHERE
f.IFID=b.IFID)');
ENDIF;
SET@v_sql=concat(@v_sql,'orderbya.RECORDTIMEasc');
PREPAREs1FROM@v_sql;
EXECUTEs1;
DEALLOCATEPREPAREs1;
END