gpt4 book ai didi

sql - 转义 SELECT 语句以将 a 存储在列中

转载 作者:行者123 更新时间:2023-12-01 04:57:10 27 4
gpt4 key购买 nike

我需要在列中存储一个 select 语句。

像这样的东西:

INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1, 'SELECT COUNT(*) FROM ANOTHER_TAB')

When the selects are simple, then it is easy, but when the selects get more complex, then it gets to be a pain to maintain the proper escaping of the select and the formatting.

例如,如果 SELECT 如下所示,则更容易阅读:
SELECT COUNT(*) 
FROM ANOTHER_TAB

但这需要我在引用的文本中加入换行符。

对于另一个问题,转义像这样的引号 'STATUS = ''ON''' 是很痛苦的。
我只想编码一个报价。

另一个问题是,一旦我将选择放在引号中,我就会失去语法突出显示。

是否有某种存储过程有助于格式化?

我想它可能看起来像这样:
INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1,
QUOTETHIS(SELECT COUNT(*)
FROM ANOTHER_TAB
WHERE STATUS = 'ON'
))

也就是说,QUOTETHIS 获取括号之间的所有内容并引用它。这很像 qw() Perl 的特性。

另一个想法是做这样的事情:
INSERT INTO SOME_TAB(THE_KEY, THE_SELECT)
VALUES (1, READFILEASSTRING('FILE_CONTAINS_SELECT.sql'))

然后我可以维护一堆包含选择的单个文件,然后语法突出显示将起作用。

最佳答案

这可能并不理想,但为什么不使用不同的字符作为转义字符 ('),例如: |然后你需要做的就是使用 REPLACE 方法来替换 |带有转义字符的字符。

Click here for code

关于sql - 转义 SELECT 语句以将 a 存储在列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36294740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com