Oracle не возвращает все строки - PullRequest
0 голосов
/ 11 декабря 2018

Я создал простое приложение для получения данных из Oracle.Приложение написано на Lazarus и использует ZeosLib и клиент Oracle (oci.dll) для подключения к серверу.Администратор Oracle подготовил мне View для получения моих данных.Я не знаю, как это построить.Когда я запускаю скрипт, используя поле IDWYDZ, возвращается около 200 строк (не все), когда я закомментирую поле IDWYDZ или когда я заменяю его пустым полем, т.е.'' как 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
...