oracle - 试图将 ORACLE 代码转换为 POSTGRESQL
问题描述
ls_sql := (CONCAT_WS('', '
SELECT
INITCAP(
CASE
WHEN (TRIM(STREET_NUMBER) IS NOT NULL) THEN
TRIM(STREET_NUMBER)||'' ''
END)||
CASE
WHEN (STREET_DIRECTION IS NOT NULL) AND (STREET_DIRECTION <> ''', aws_oracle_ext.getglobalvariable(proutinename => 'PROD.PROPERTY_FUNCTIONS', pvariable => 'c_blank_street_direction', ptp => NULL::CHARACTER(2)), ''') THEN
TRIM(STREET_DIRECTION)||'' ''
END||
INITCAP(
TRIM(STREET_NAME)
),
CASE WHEN (UNIT_NUMBER IS NOT NULL) THEN
LTRIM(INITCAP(
CASE
WHEN (UNIT_TYPE IS NULL) THEN ''Unit''
WHEN (UNIT_TYPE = ''', aws_oracle_ext.getglobalvariable(proutinename => 'PROD.PROPERTY_FUNCTIONS', pvariable => 'c_blank_unit_type_code', ptp => NULL::CHARACTER VARYING(10)), ''') THEN ''''
ELSE INITCAP(UNIT_TYPE)
END
)||'' '')||UNIT_NUMBER
END,
INITCAP(CITIES.CITY_NAME)||'', ''||STATE||'' ''||ZIP_CODE||
CASE
WHEN (ZIP_PLUS_4 IS NOT NULL) THEN ''-''||ZIP_PLUS_4
END
,
'));
IF (ls_address_type = aws_oracle_ext.getglobalvariable(proutinename => 'PROD.PROPERTY_FUNCTIONS', pvariable => 'c_fa_addrtype_property', ptp => NULL::CHARACTER VARYING(50))) THEN
/* Property */
ls_sql := CONCAT_WS('', ls_sql, '
PROPERTY.STATE
FROM
prod.PROPERTY,
prod.CITIES
WHERE
( PROPERTY.CITY_CODE = CITIES.CITY_CODE ) AND
( PROPERTY.PROPERTY_ID = :n_property_id_in ) AND
(limit < 2)
');
ELSE
/* Commercial Property */
ls_sql := CONCAT_WS('', ls_sql, '
COMMERCIAL_PROPERTY.STATE
FROM
prod.COMMERCIAL_PROPERTY,
prod.CITIES
WHERE
( COMMERCIAL_PROPERTY.CITY_CODE = CITIES.CITY_CODE ) AND
( COMMERCIAL_PROPERTY.COMMERCIAL_PROPERTY_ID = :n_property_id_in ) AND
(limit < 2)
');
END IF;
/* Execute the SQL */
raise notice 'ls_sql %',ls_sql;
这是一小段代码,我在其中打印 ls_sql 以检查它给出的值!但是当我调用该函数时,它会返回一个异常值!有人可以帮我确定我应该在哪里进行更改吗?以下是我运行此功能时得到的结果。我无法确定代码的哪一部分不起作用。
NOTICE: lb_statesingleline f
NOTICE: lb_street_unit_line f
NOTICE: lb_citystatezip_line f
NOTICE: ls_spacer ,
NOTICE: ls_sql
SELECT
INITCAP(
CASE
WHEN (TRIM(STREET_NUMBER) IS NOT NULL) THEN
TRIM(STREET_NUMBER)||' '
END)||
CASE
WHEN (STREET_DIRECTION IS NOT NULL) AND (STREET_DIRECTION <> 'ZZ') THEN
TRIM(STREET_DIRECTION)||' '
END||
INITCAP(
TRIM(STREET_NAME)
),
CASE WHEN (UNIT_NUMBER IS NOT NULL) THEN
LTRIM(INITCAP(
CASE
WHEN (UNIT_TYPE IS NULL) THEN 'Unit'
WHEN (UNIT_TYPE = 'ZZ') THEN ''
ELSE INITCAP(UNIT_TYPE)
END
)||' ')||UNIT_NUMBER
END,
INITCAP(CITIES.CITY_NAME)||', '||STATE||' '||ZIP_CODE||
CASE
WHEN (ZIP_PLUS_4 IS NOT NULL) THEN '-'||ZIP_PLUS_4
END
,
PROPERTY.STATE
FROM
prod.PROPERTY,
prod.CITIES
WHERE
( PROPERTY.CITY_CODE = CITIES.CITY_CODE ) AND
( PROPERTY.PROPERTY_ID = :n_property_id_in ) AND
(limit < 2)
NOTICE: EXCEPTION P0001
NOTICE: RESULT1 <NULL>
DO.
解决方案
推荐阅读
- java - 通过 AJAX 访问控制器
- javascript - Javascript Uncaught Typeerror - 不是构造函数
- scala - scalaz中的存储是什么
- logstash - 无法读取 logstash 中的 .gz 文件
- amazon-web-services - Amazon kinesis 多个出版商
- django - 如何在 Django 中跟踪表单错误?
- python - 无法使用 Rectbivariatespline 对网格网格上的二维数组进行插值
- python - 值和身份的元组相同,但身份测试(是)在 python 中为假
- c# - 如何在字典列表中使用 .Distinct()?C#
- javascript - 使用 getJSON 中的 JSON/AJAX 信息更改多个 iframe 的 src 以包含取自 YouTube API 的 videoId