我有一个包含如下所示代码的软件包,
例如,当我使用此代码时,
SELECT f.ID,(f.source||'-'||A.TITLE) AS source_system FROM T1 f LEFT JOIN T2 a ON f.SOURCE = a.code;
即时通讯,结果低于预期
id source_system
14 X-Unified
14 R-Clarity
14 G-Complete
14 C-South
14 E-East
但是,当我在显示的belo之类的包中使用相同的查询时,我遇到了错误,有人可以帮助我如何在单引号的oracle查询中使用管道吗?
SEARCHSQL := 'SELECT ';
SEARCHSQL := SEARCHSQL || ' f.id,(f.SOURCE||''-''||a.TITLE) AS source_system FROM T1 f LEFT JOIN T2 a ON f.SOURCE = a.code';
答案 0 :(得分:0)
像这样工作:
SET SERVEROUTPUT ON;
CREATE TABLE T1
(
"SOURCE" VARCHAR2 (4000),
"ID" VARCHAR2 (4000)
);
CREATE TABLE T2
(
"CODE" VARCHAR2 (4000),
"TITLE" VARCHAR2 (4000)
);
DECLARE
SEARCHSQL VARCHAR2 (4000);
BEGIN
SEARCHSQL := 'SELECT ';
SEARCHSQL :=
SEARCHSQL
|| ' f.id,(f.SOURCE||''-''||a.TITLE) AS system FROM T1 f LEFT JOIN T2 a ON f.SOURCE = a.code';
DBMS_OUTPUT.put_line (SEARCHSQL);
EXECUTE IMMEDIATE SEARCHSQL;
END;
DROP TABLE T1;
DROP TABLE T2;
输出:
表T1已创建。
表T2已创建。
SELECT f.id,(f.SOURCE ||'-'|| a.TITLE)AS系统from T1 f左联接T2 a ON f.SOURCE = a.code;
PL / SQL过程成功完成。
表T1已删除。
表T2掉了。