在从 ms-sql 转换为 postgres 时,我遇到了一些视图问题。
错误是:
Invalid Input Syntax for Integer: SQL state: 22P02""
问题似乎是由于
"limit"
条款造成的
如果我选择没有 "limit"
子句的视图,一切都很好
如果我选择带有 "limit"
子句的视图,则会失败。
在 ms-sql 中一切正常(顶部(1)<->限制1)
视图如下
SELECT ag."Codice" AS "Codice_anagen",
ac."Codice" AS "Codice_anacli",
ad."Codice" AS "Codice_anaditte",
ag."AUID" AS "Codice_au",
ag."Ragione_sociale_att",
ac."Cliente_disatt" AS "Anacli_disattivato",
COALESCE(ad."Ditta_disabilitata", 'X'::character varying) AS "Ditta_disabilitata",
CASE
WHEN COALESCE(ad."Data_Disabilitazione", '01/01/1900'::character varying)::text = '00/00/0000'::text THEN '01/01/1900'::character varying
ELSE COALESCE(ad."Data_Disabilitazione", '01/01/1900'::character varying)
END AS "Data_cessazione_come_ditta",
ag."Partita_iva" AS ag_partita_iva,
ag."Codice_fiscale" AS ag_codice_fiscale,
"ANA_UN"."Partita_IVA" AS au_partita_iva,
"ANA_UN"."Codice_Fiscale" AS au_codice_fiscale,
COALESCE(( SELECT 'M'::text AS "Tipo"
FROM dbo."MULTI_PRIVATI" mpp
WHERE mpp."Anacli_disattivato"::text = 'N'::text AND mpp."Ditta_disabilitata"::text <> 'X'::text AND mpp."Codice_au"::text = ag."AUID"::text AND mpp."Codice_anagen"::text = ag."Codice"::text AND mpp."Codice_anacli"::text = ac."Codice"::text), 'P'::text)::character varying(2) AS tipocli,
COALESCE(( SELECT COALESCE("ANAGEN_CRM".note, ''::character varying) AS "Note"
FROM dbo."ANAGEN_CRM"
WHERE "ANAGEN_CRM"."Codice"::text = ag."Codice"::text), ''::character varying) AS note
FROM dbo."ANAGEN" ag
JOIN dbo."ANACLI" ac ON ac."Codice_anagrafica_anagen"::integer = ag."Codice"::integer
LEFT JOIN ( SELECT *
FROM dbo."ANADITTE"
JOIN dbo."ANADITTE_SINGLE_AUID" ON "ANADITTE"."AUID"::integer = "ANADITTE_SINGLE_AUID"."AUID"::integer AND "ANADITTE"."Codice"::integer = "ANADITTE_SINGLE_AUID".codice::integer) ad ON ad."AUID"::integer = ag."AUID"::integer
JOIN dbo."ANA_UN" ON "ANA_UN"."ID"::integer = ag."AUID"::integer;
有人有什么建议吗? 谢谢!
斯特凡诺