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

处理``插入表Values()''语句中的标识列?

胥良平
2023-03-14
问题内容

在SQL Server 2000或更高版本中,当使用如下语句时,是否有处理自动生成的主键(标识)列的方法?

Insert Into TableName Values(?, ?, ?)

我的目标是根本不使用列名。


问题答案:

默认情况下,如果你有一个标识列,你就 不会 需要在值部分指定它。如果您的表是:

ID    NAME    ADDRESS

然后,您可以执行以下操作:

INSERT INTO MyTbl VALUES ('Joe', '123 State Street, Boston, MA')

这将为您自动生成ID,而您完全不必考虑它。如果您SET IDENTITY_INSERT MyTbl ON可以为ID列分配一个值。



 类似资料:
  • 问题内容: 在SQL Server中,是否可以使用存储过程在插入一些值的表中返回标识列的值?例如,如果我们在表中插入数据,则使用存储过程: 表TBL 用户ID整数,身份,自动递增 名称varchar 用户名varchar 密码varchar 因此,如果我运行存储过程插入一些值,例如: 我该如何返回此插入将发生的值。我需要其他一些操作的UserID值,有人可以解决吗? 问题答案:

  • 我正在使用批处理语句将来自csv文件的数据插入到卡桑德拉中。我的表格看起来像这样创建表格曝光(暴露比金特,文件比金特,研究文本,项目文本,w文本,x文本,y文本,z文本) 将所有Cassandra表colNames作为键,它们的值在地图中如下所示 makeSt方法准备预处理语句 这一切都很好。然后我做以下事情 当我运行程序时,我收到以下错误 程序中断的确切行是第486行,也就是 我正在使用Data

  • 如何将从上述插入语句填充的标识值()插入到表(另一个表)中 任何人都可以解释一下我如何为更大的记录集(数千条记录)实现它? 我们可以使用循环和?如果是,请解释我们如何做到这一点? 如果我从选择查询插入到#test中,会是什么情况? 插入到#test(b,c)中从…(数千条记录)中选择 我如何捕获标识值并将该值用于另一个(#sample) insert into #sample(e,f) selec

  • 问题内容: 我正在设计一个数据库,该数据库每秒需要处理各种InnoDB表大约600行的插入。我当前的实现使用非批处理的预处理语句。但是,随着时间的推移,写入数据库瓶颈和队列大小会增加。 该实现是用Java编写的,我不知道它的版本。它使用的Java连接器。我需要考虑改用明天。我假设这是两个不同的连接器包。 我已阅读有关该问题的以下主题: 优化MySQL插入以处理数据流 MyISAM与InnoDB 将

  • 问题内容: 我想知道是否有可能在SQL代码的CASE语句中包含INSERT INTO语句。 这是我要执行的操作的粗略伪代码: 问题答案: 您将需要用语句代替。大概是这样的(不确定db2的语法):

  • 问题内容: 如何将上面插入语句中填充的标识值()插入表(另一个表)中 任何人都可以解释一下如何对更大的记录集(成千上万条记录)实施此操作吗? 我们可以使用loop和吗?如果是这样,请说明我们该怎么做? 如果我从选择查询中插入#test,会发生什么情况? 插入#test(b,c)中,从…中选择…(成千上万条记录) 我将如何捕获身份值并将该值用于另一个(#sample)插入#sample(e,f)插入