gpt4 book ai didi

sql - 在 SQL Server 表中插入多个值

转载 作者:行者123 更新时间:2023-12-04 22:24:19 24 4
gpt4 key购买 nike

我不知道,但对你们中的许多人来说,这可能是一个毫无意义的问题,但我在一次采访中被问到,我真的很困惑,因为我刚刚开始使用 SQL Server。如果我在一个步骤中将数百个字段插入到 SQL Server 数据库中,是否需要在我的 SQL 命令中写入每个列名。

INSERT into Database(field1, field2,...field100) VALUES(val1, val2,...val3)

我从文本框和组合框以及类似控件中获取这些值。这是唯一的方法还是有一种简单的方法可以做到这一点?我对 SQL Server 不太了解。我正在努力学习它。我使用的是 C# 4.0、SQL Server 2008 Express。

编辑

让我解释一下面试问题。
准确地说,他们问我,他们有一个用户填写的表格(在 winforms 中)。该表单被分成多个 Tab Pages(5-6) 在一个 Tab Control 中。现在他们想通过单击的方式来馈送数据库中的数据,他们不想逐页发送数据。相反,他们希望通过单击一个按钮来提供数据。要么完整数据要么没有。

我的回答是,我会通过交易来做。为清楚起见,我将为每个页面构建一个插入命令并在事务中执行它们。如果成功提交否则回滚。

但立即的回复是,“交易很好,但你会在插入命令中写入所有文本框的值吗?”

我说如果某些内容为空,我会忽略,但所有时间值都不能为空,因为不同的用户将以不同的方式填写表单。所以最好在我们的 SQL 命令中包含所有文本框值(或 sql 参数)。

但问题又是一样的,“如果所有的文本框值都计算到 100 或 200,你会写出所有的值吗?”

带着困惑,我的回答是"is"。

他们看起来并不满意。

这就是我在 1 条评论中询问的原因。可以用列表来完成吗?我的意思是,如果我将所有控件都添加到一个列表中,我们还能使用该列表吗?但现在我觉得,我们不能。

是的,他们把我踢出了选定的候选人名单 :-)) 哈哈,没关系。

最佳答案

如果您在表中插入所有可插入的列(即非计算、标识、行版本)列,那么您可以省略显式列列表,只需执行

INSERT into YourTable
Values(val1, val2,...val3) /*Needs to be in order as per table definition*/

如果您只为列的一个子集插入显式值,那么您需要显式列出所有列。

假设被遗漏的所有列都是可为空的或定义了默认值(如果不是 insert 将失败),您还可以定义具有所需列子集的 View ,然后您可以插入其中而不显式列出列。

关于sql - 在 SQL Server 表中插入多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7695959/

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