SQL 中using 的用法

本文详细介绍了如何使用SQL语句进行数据查询,并通过不同参数的应用实现查询条件的灵活设置,包括日期范围、字符串匹配、数值比较等常用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE OR REPLACE PROCEDURE tP_JCXX_SECOND(CUR_RESULT OUT sys_refcursor,
                        TJFS IN VARCHAR2,--统计方式

                        NSPQ IN VARCHAR2,--片区

                        NSRZT IN VARCHAR2,--纳税人状态

                        XXHD IN VARCHAR2,--信息核定

                        NSRDZDAH IN VARCHAR2,--计算机代码

                        NSRMC IN VARCHAR2,--纳税人名称

                        SGY IN VARCHAR2--税管员

                        ) IS
    SQL_STATEMENT VARCHAR2(2000);
    SQL_STATEMENT1 VARCHAR2(2000);
    SQL_STATEMENT2 VARCHAR2(2000);
    BEGIN
        
   
     SQL_STATEMENT1:=
    'SELECT A.NSRDZDAH JSJDM,--计算机代码
     A.NSRMC NSRMC,--纳税人名称
     E.ZCZB ZCZJ,--注册资金
     F.HYMX_MC HY,--行业
     G.DJZCLX_MC DJZCLX,--登记注册类型
     A.SCJYDZ JYDZ,--经营地址
     E.SCJYD_DHHM JYDZDH,--经营地址电话
     H.NSRZT_MC NSRZT,--纳税人状态
     A.GDGGBZ GGH,--是否是共管户
     I.SWJG_MC SWJG,--税务机关
     J.CZRY_MC SGY--税管员
     FROM GY_NSRXX A,HD_NSR_HDXX B,GL_PQ_NSR C,DM_HDXL D,GY_NSRXX_KZ E,
     DM_HYMX F,DM_DJZCLX G,DM_NSRZT H,DM_SWJG I,DM_CZRY J
     WHERE A.NSRDZDAH=B.NSRDZDAH
     AND A.NSRDZDAH=C.NSRDZDAH
     AND B.HDXL_DM=D.HDXL_DM
     AND A.NSRDZDAH=B.NSRDZDAH
     AND A.HYMX_DM=F.HYMX_DM
     AND A.DJZCLX_DM=G.DJZCLX_DM
     AND A.NSRZT_DM=H.NSRZT_DM
     AND A.SWJG_DM=I.SWJG_DM
     AND A.ZGSWRY_DM=J.CZRY_DM
     AND C.PQ_DM IN (NVL(:NSPQ,C.PQ_DM))
     AND B.HDXL_DM IN (NVL(:XXHD,B.HDXL_DM))
     AND A.NSRZT_DM IN (NVL(:NSRZT,A.NSRZT_DM))
     AND A.NSRDZDAH IN (NVL(:NSRDZDAH,A.NSRDZDAH))
     AND A.ZGSWRY_DM IN (NVL(:SGY,A.ZGSWRY_DM))';
     SQL_STATEMENT2:='AND B.HDXL_DM LIKE SUBSTR(:TJFS,2)'||'%';
     IF(SUBSTR(TJFS,1,2)='03') THEN
     SQL_STATEMENT:=SQL_STATEMENT1||SQL_STATEMENT2;
    
     OPEN CUR_RESULT FOR
     SQL_STATEMENT using NSPQ,XXHD,NSRZT,NSRDZDAH,SGY,TJFS;
    
     ELSE
     SQL_STATEMENT:=SQL_STATEMENT1;
     OPEN CUR_RESULT FOR
     SQL_STATEMENT using in NSPQ, in XXHD, in NSRZT,in NSRDZDAH,in SGY;
    
     END IF;
     --DBMS_OUTPUT.Put(SQL_STATEMENT);

    END tP_JCXX_SECOND;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值