我创建了一个简单的应用程序,用于从Oracle获取一些数据。 该应用程序使用Lazarus编写,并使用ZeosLib和Oracle客户端(oci.dll)连接到服务器。 Oracle管理员为我准备了一个获取数据的视图。我不知道它是如何建立的。当我使用字段IDWYDZ运行脚本时,当我注释掉字段IDWYDZ或将其替换为空字段时,将返回大约200行(不是全部)。 ''作为IDWYDZ然后我得到了全部500行。为什么包含或排除列会影响返回的行数?
SELECT
SKROT as IDPROD
, substr( REPLACE( LTRIM(RTRIM(CAST(NAZWA AS NVARCHAR2(100)))), '''', '`'), 1, 49) as NAZPROD
, substr( REPLACE( LTRIM(RTRIM(CAST(OPIS1 AS NVARCHAR2(255)))), '''', '`'), 1, 49) as OPIS1
, substr( REPLACE( LTRIM(RTRIM(CAST(OPIS2 AS NVARCHAR2(255)))), '''', '`'), 1, 49) as OPIS2
, substr( REPLACE( LTRIM(RTRIM(CAST(PREFIX AS NVARCHAR2(255)))), '''', '`'), 1, 49) as OPIS3
, substr( LTRIM(RTRIM(CAST(OPIS1 AS NVARCHAR2(100)))), 1, 30) as IDGRUPY
, SUBSTR(JM,1, 10) AS JM
, CENA_SPRZ AS CENA
, EAN AS EAN13
, 'R' as TYPBOM
, case when SKROT<'140000' then 'M' else 'K' end as TYPPROD
--, FD_DZIAL AS IDWYDZ
FROM
ACME.EXPORT_VIEW_KAS
WHERE
DATA_MODYF>=(CURRENT_DATE-7) AND
LENGTH(SKROT)>0
order by
IDPROD