如何修复申报单?

问题描述

您能帮我吗,请修复以下sql语句,第一行出现错误。谢谢

DECLARE @T_SYS_FROM SMALLINT,VARCHAR(8);
    SET @T_SYS_FROM = 20200922,DATE;
    SELECT 
      T_SYS_FROM,N_D_AHDJ,N_FUND_ID,N_AHDJ,T_SYS_USER,BUDAT
    FROM 
      dss.acn_ahdj_h
    where
      T_SYS_FROM=@ T_SYS_FROM
    ORDER by
      T_SYS_USER;

解决方法

您的DECLARE似乎是从另一种SQL方言中获取语法,因为它不是有效的Oracle PL / SQL语法。

如果您使用的是PL / SQL,则类似(假设您的查询将仅返回一行):

DECLARE 
  v_your_date DATE := DATE '2020-09-22';
  v_T_SYS_FROM dss.acn_ahdj_h.T_SYS_FROM%TYPE;
  v_N_D_AHDJ   dss.acn_ahdj_h.N_D_AHDJ%TYPE;
  v_N_FUND_ID  dss.acn_ahdj_h.N_FUND_ID%TYPE;
  v_N_AHDJ     dss.acn_ahdj_h.N_AHDJ%TYPE;
  v_T_SYS_USER dss.acn_ahdj_h.T_SYS_USER%TYPE;
  v_BUDAT      dss.acn_ahdj_h.BUDAT%TYPE;
BEGIN
  SELECT T_SYS_FROM,N_D_AHDJ,N_FUND_ID,N_AHDJ,T_SYS_USER,BUDAT
  INTO   v_T_SYS_FROM,v_N_D_AHDJ,v_N_FUND_ID,v_N_AHDJ,v_T_SYS_USER,v_BUDAT
  FROM   dss.acn_ahdj_h
  WHERE  T_SYS_FROM = v_your_date
  ORDER BY T_SYS_USER;
END;
/

如果要进行SQL查询,则:

SELECT T_SYS_FROM,BUDAT
FROM   dss.acn_ahdj_h
WHERE  T_SYS_FROM = DATE '2020-09-22'
ORDER BY T_SYS_USER;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...