文字和标识符可以跨越多行
单行注释可能是代码的最后一个元素,并且可能不会以换行符结尾。
在SQL Server和PostgreSQL等数据库中,可以嵌套多行注释,例如-
/* outer comment /* inner comment */ */
由于仅关闭内部注释,因此以下代码无效:
/* opened outer comment /* closed inner comment */
在Teradata,Oracle,MySql和SQLite等数据库中,没有嵌套注释的概念。由于注释已用最左边的* /结束,因此以下代码无效。
/* comment /* is closed */ ERROR */
但是,这是有效的代码:
/* comment /* still the same comment */
Teradata
with t (txt) as
(
select '
select /* comment /* yada yada yada /* / // bla bla bla
1
*/ t1.i
,''"SRC''''"'' as "This''is''the
''source"
from t1 /* "Comment 2" - '' */ cross join t2 -- /* comment 3 */
where t2.v = ''/*DST"*
/'' -- comment 4'
)
select regexp_replace (txt,'(''.*?''|".*?")|/\*.*?\*/|--.*?(?=[\r\n]|$)','\1',1,0,'n') as clean_txt
from t
;
甲骨文
with t (txt) as
(
select '
select /* comment /* yada yada yada /* / // bla bla bla
1
*/ t1.i
,''"SRC''''"'' as "This''is''the
''source"
from t1 /* "Comment 2" - '' */ cross join t2 -- /* comment 3 */
where t2.v = ''/*DST"*
/'' -- comment 4'
from dual
)
select regexp_replace (txt,'(''.*?''|".*?")|/\*.*?\*/|--.*?(?=$|\Z)','\1',1,0,'nm')
from t
;
select t1.i
,'"SRC''"' as "This'is'the
'source"
from t1 cross join t2
where t2.v = '/*DST"*
/'
问题内容: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 问题答案: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 否。如果要定义表和列注释,最好的选择是在生成的DDL中根据事实进行操作,然后再对数据库执行操作。
问题内容: 我有一张桌子,如下所示: 我想基于3个字段emp_name,emp_address和sex删除重复的条目。和我的结果表(删除重复项后)应类似于- 我不记得如何为此编写SQL查询。任何人都可以帮忙吗? 问题答案: 看起来所有四个列值都是重复的,因此您可以执行以下操作- 但是,如果婚姻状况可能有所不同,并且您还有其他根据其选择的列(例如,您希望基于create_date列作为最新记录),则
问题内容: 我试过了 : 它返回了3列“ TABLE_NAME”,“ TABLE_TYPE”和“ COMMENTS”,但是“ TABLE_NAME”列就像“ encrypted”一样,我需要明确的表名: 我使用TABLE_NAME时未“加密”。 问题答案: 由于10g,Oracle在发出DROP TABLE语句时不会立即删除表。相反,它像这样重命名它们并将它们放入回收站。这使我们能够恢复原本不想删
问题内容: 我在清理注释和已存在的sql文件中的空行时遇到问题。该文件有1万多行,因此无法手动清洁。 我有一些python脚本,但是我不知道如何处理多行插入内容中的注释。 代码: 它应该如何工作: 这应该清洗: 这应该保持原样: 问题答案: 尝试使用sqlparse模块。 更新的示例: 将注释保留在插入值内,并将注释保留在CREATE FUNCTION块内 。您可以进一步调整以调整行为: 输出:
问题内容: 我对Oracle SQL查询并不十分了解,因此在删除表中的某些行时遇到了一个问题,该行必须满足一个约束,该约束包括另一个(联接)表的字段。换句话说,我想编写一个查询来删除包括JOIN的行。 在我的情况下,我有一个表和另一个连接在字段上的表。我想从大于或等于200的行中删除行,并且它们引用的产品具有名称“ Mark”(名称是“产品”中的一个字段)。 我想首先被告知Oracle中的Dele
问题内容: 我正在创建需要将服务连接到sql server的应用程序。添加依赖项后运行测试代码时,它成功运行。这是成功运行的测试代码: 但是,当我为jdbc添加依赖项并在创建服务时运行相同的代码时,它给了我类似以下的错误: 我在pom.xml中添加了此依赖项: 我应该进行哪些更改,以便在创建服务时成功建立连接? 问题答案: 您的依赖项的范围是,这意味着当应用程序正常运行(而不是作为测试)时,它将不