【问题标题】:filepp preprocessing SQL filesfilepp 预处理 SQL 文件
【发布时间】:2021-10-22 14:25:27
【问题描述】:

我有在我的应用程序中定义业务模型的 SQL 文件。为了使它们对人类更具可读性和“可调试性”,我想在将它们发送到 mysql 数据库之前使用预处理器。我正在尝试使用 filepp (http://rpm.pbone.net/manpage_idpl_2294391_numer_1_nazwa_filepp.html) 通用预处理器,但是当我将字符串定义为宏时,它不会输出该行的其余部分,例如:

#define CCSTRING INSERT INTO DOMPOSPBS(ID,POS,PBS,VARIANT,PATTERN,SUBPART,PVARS,km3pos,VISIBLE)
set @TOPH_nv := ' 3.4 3.4.5.1.1 3.4.5.1.2 3.4.5.1.3 3.4.5.1.4 3.4.5.5.5' ;
set @TOPH := ' 3.4.5.1';
set @TOPS_nv := ' 3.4 3.4.5.1.2 3.4.5.1.3 3.4.5.1.4 3.4.5.5.5';
set @TOPS := ' 3.4.5.2';
set @BOTS := ' 3.4.5.1.0 3.4.5.4';
set @BOTHE := ' 3.4.5.1.0 3.4.5.3';
set @BOTS_nv := ' 3.4 3.4.5.3.1 3.4.5.3.2 3.4.5.3.3 3.4.5.5.5';
set @BOTHF := ' 3.4.5.3.3 3.4.5.5.4';
set @BOTHF_nv := ' 3.4 3.4.5.5.5';
set @DOM      := ' 3.4';
set @DOMF     := ' 3.4.5.5.5';

CCSTRING VALUES('1','PM_T00_F4 (0)','3.4.2.3','','',@TOPS,'ANY','0',1);
CCSTRING VALUES('1','PM_T00_F4 (0)','3.4.2.3','','',@TOPS_nv,'ANY','0',0);
CCSTRING VALUES('2','PM_T01_E5 (1)','3.4.2.3','','',@TOPS,'ANY','1',1);

将输出:

set @TOPH_nv := ' 3.4 3.4.5.1.1 3.4.5.1.2 3.4.5.1.3 3.4.5.1.4 3.4.5.5.5' ;
set @TOPH := ' 3.4.5.1';
set @TOPS_nv := ' 3.4 3.4.5.1.2 3.4.5.1.3 3.4.5.1.4 3.4.5.5.5';
set @TOPS := ' 3.4.5.2';
set @BOTS := ' 3.4.5.1.0 3.4.5.4';
set @BOTHE := ' 3.4.5.1.0 3.4.5.3';
set @BOTS_nv := ' 3.4 3.4.5.3.1 3.4.5.3.2 3.4.5.3.3 3.4.5.5.5';
set @BOTHF := ' 3.4.5.3.3 3.4.5.5.4';
set @BOTHF_nv := ' 3.4 3.4.5.5.5';
set @DOM      := ' 3.4';
set @DOMF     := ' 3.4.5.5.5';

INSERT INTO DOMPOSPBS(ID,POS,PBS,VARIANT,PATTERN,SUBPART,PVARS,km3pos,VISIBLE)
INSERT INTO DOMPOSPBS(ID,POS,PBS,VARIANT,PATTERN,SUBPART,PVARS,km3pos,VISIBLE)
INSERT INTO DOMPOSPBS(ID,POS,PBS,VARIANT,PATTERN,SUBPART,PVARS,km3pos,VISIBLE)

没有其余的行。有什么建议吗?

【问题讨论】:

    标签: sql preprocessor


    【解决方案1】:

    经过多次测试,我发现问题在于宏定义行末尾的 CRLF。只留下LF就解决了问题。

    【讨论】:

      猜你喜欢
      • 2015-07-17
      • 2015-10-05
      • 2013-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多