900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql 存储过程 转义_mysql存储过程中的 sql语句符号问题

mysql 存储过程 转义_mysql存储过程中的 sql语句符号问题

时间:2019-11-29 02:30:07

相关推荐

mysql 存储过程 转义_mysql存储过程中的 sql语句符号问题

展开全部

不要用斜杠

我看看我这个。没问题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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。