我需要在列中存储select语句.
像这样的东西:
INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1, 'SELECT COUNT(*) FROM ANOTHER_TAB')
当选择很简单时,它很容易,但是当选择变得更复杂时,保持选择和格式的正确转义变得很麻烦.
例如,如果看起来像这样,则更容易读取SELECT:
SELECT COUNT(*)
FROM ANOTHER_TAB
但这要求我在引用的文本中加入换行符.
对于另一个问题,逃避像’STATUS =”ON”’这样的引号是很痛苦的.
我想编写一个引用代码.
另一个问题是,一旦我将select放入引号,我就会失去语法高亮.
是否有某种存储过程有助于格式化?
我在想它看起来像这样:
INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1,
QUOTETHIS(SELECT COUNT(*)
FROM ANOTHER_TAB
WHERE STATUS = 'ON'
))
也就是说,QUOTETHIS将所有内容放在parens和引用之间.这很像Perl的qw()功能.
另一个想法是做这样的事情:
INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1, READFILEASSTRING('FILE_CONTAINS_SELECT.sql'))
然后我可以维护一堆包含选择的单个文件,然后语法高亮可以工作.
最佳答案 这可能不太理想,但为什么不为转义字符(‘)使用不同的字符,例如:|然后您需要做的就是使用REPLACE方法替换|带有转义字符的字符.