当前位置: 首页 > 面试题库 >

为什么在INSERT语句的列列表中忽略点分隔的前缀?

郎同化
2023-03-14
问题内容

我刚刚遇到了一些我认为无效的SQL语法,但实际上工作正常(至少在SQL Server中)。

给定此表:

create table SomeTable (FirstColumn int, SecondColumn int)

以下insert语句执行没有错误:

insert SomeTable(Any.Text.Here.FirstColumn, It.Does.Not.Matter.What.SecondColumn)
values (1,2);

插入语句完成而没有错误,并且检查select * from SomeTable表明它确实正确地执行了。参见小提琴:http
://sqlfiddle.com/#!6/ 18de0/2

SQL Server似乎只是忽略除插入列表中给出的列名的最后一部分以外的任何内容。

实际问题:

可以将其视为记录的行为吗?

关于为什么这样做的任何解释也将不胜感激。


问题答案:

据报道,这是Connect上的一个错误,尽管最初令人鼓舞,但该项目的当前状态为“无法修复”,因此已关闭。

Order by子句以前的行为类似,但是在SQL Server 2005中已修复。



 类似资料:
  • 问题内容: 我想创建一个 存储过程 ,我想在表中插入值。但是我不知道我必须在哪个字段中插入值,而在 运行时,我将决定应在哪个字段中插入值 。我想做的是 如上例所示,是否可以在存储过程中传递这种类型的参数? 我也想使用条件 声明@Query nvarchar(4000)声明@ Query1 nvarchar(4000)声明@ParmDefinition nvarchar(500); Descript

  • 忽略列表显示不需要处理的资源或一类规则建议。 忽略列表显示不需要处理的资源或一类规则建议。当某资源或某类型的建议不需要用户处理时,可以通过忽略或忽略该类建议功能将其显示在忽略列表。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “优化建议/安全检查/忽略列表” 菜单项,进入忽略列表页面。 恢复 当忽略列表中某资源或某规则建议需要用户关注处理时,可以使用恢复功能将其显示在建议列表。

  • 忽略列表显示不需要处理的资源或一类规则建议。 忽略列表显示不需要处理的资源或一类规则建议。当某资源或某类型的建议不需要用户处理时,可以通过忽略或忽略该类建议功能将其显示在忽略列表。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “优化建议/成本优化/忽略列表” 菜单项,进入忽略列表页面。 恢复 当忽略列表中某资源或某规则建议需要用户关注处理时,可以使用恢复功能将其显示在建议列表。

  • 使用mysql,可以创建如下列: 更新时时间戳默认CURRENT_TIMESTAMP不为空CURRENT_TIMESTAMP 因此,在插入和更新时,我们不需要更新此列。 考虑在Jooq中使用只读列: 生成的类具有: 尝试使用时 如果我们不设置created_日期,它会抱怨created_日期为空。修改日期相同。 使用这个SyntheticReadonlyColumnType的正确方法是什么?如何检

  • 问题内容: 假设我想要一个表来记录其他表中的日期和列数(或者实际上是任何种类的数学/字符串concat等)。 每当执行插入操作时,是否可以为我计算计数列? 例如做类似的事情: 并具有由mysql计算的计数。 显然,我可以自己做一个查询来获取计数并插入计数,但是这样做会更好。 问题答案: 当通过插入,更新或删除表来更改数据时,触发器是注释数据的最佳工具。 要使用当前日期自动将日志中新行的日期列设置为

  • 我们有一个场景,需要解析插入SQL并提取每个列的值。 现在列值提取很容易实现,但当值包含转义字符或逗号时,会导致问题。喜欢 ('jkl','mno','pq,aa'r') 这里是导致问题的第三个值<代码>'pq,aa'r' 通过使用regex,我们可以像这样提取这些数据。 值2 值2 我们正在使用JAVA正则表达式。我们高度赞赏任何其他出路。