我需要在列中存储select语句。
这样的事情:
INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1, 'SELECT COUNT(*) FROM ANOTHER_TAB')
当选择很简单时,它很容易,但是当选择变得更复杂时,那么保持选择和格式的正确转义会很麻烦。
例如,如果看起来像这样,则更容易读取SELECT:
SELECT COUNT(*)
FROM ANOTHER_TAB
但这要求我在引用文本中加入换行符。
对于另一个问题,要逃避这样的报价是很痛苦的' STATUS ='''''' 我想编写一个引用代码。
另一个问题是,一旦我将引号放入引号,我就会失去语法高亮。
是否有某种存储过程可以帮助进行格式化?
我认为它看起来像这样:
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'))
然后我可以维护一堆包含选择的单个文件,然后语法突出显示就可以了。
答案 0 :(得分:1)
这可能不太理想,但为什么不为转义字符使用不同的字符('),例如:然后您需要做的就是使用REPLACE方法替换|带有逃脱角色的角色。