找不到比这种方式更好的格式化多行字符串的方法了……似乎很复杂。格式化此类代码的最佳方法是什么?
{{1}}
答案 0 :(得分:1)
您可以为此使用Verbatin Strings。
sql_select_country : STRING = "[
SELECT *
from COUNTRY
]"
-- Select all country
要动态构建SQL查询,可以定义一个模板 使用占位符,然后将其替换为期望值。
template_query : STRING = "[
SELECT
*
FROM
enumerate
WHERE
$Primary_key_db_column_name = :id
UNION
SELECT
e.*
FROM
enumerate e
INNER JOIN
enumerates_leaves s ON s.$Primary_key_db_column_name = e.$Category_db_column_name
) SELECT * FROM enumerates_leaves WHERE enumerates_leaves.$Category_db_column_name IS NOT NULL;"
]"
-- Template query `query_name` ....
使用模板
l_query: STRING
create l_query.make_from_string (template_query)
l_query.replace_substring_all ("$Primary_key_db_column_name", {like item_prototype}.Primary_key_db_column_name)
...
实际上,可以将这种想法概括为类似的构建
sql_query_builder (query_template: READABLE_STRING_GENERAL; arguments: ITERABLE [READABLE_STRING_GENERAL]) :STRING