SQL SELECT INTO 语句使用问题

本文探讨了在SQLSERVER2000中使用SELECT INTO语句创建临时表时遇到的问题,即无法添加带有标识属性的列,特别是在跨数据库复制数据时。文章提供了具体的错误信息,并对比了不同场景下语句的执行情况。
SQL语句目的:
    在创建临时表时创建一列自动增加的种子,这里涉及到跨数据库复制数据,这里数据库使用的SQL SERVER 2000。

SELECT INTO 语句
语法:
SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source



出错的SQL语句:
SELECT IDENTITY(INT,1,1AS [NewID],* INTO #tBranch FROM test.dbo.TB_test ts

出错信息错误如下(fid为TB_test的一个字段):
无法使用 SELECT INTO 语句向表 '#tBranch' 中添加标识列,该表中已有继承了标识属性的列 'fid'



但是如下两条语句却又不出错:
    --下面的语句表明在跨数据库但是去掉自增长列执行没有问题
SELECT * INTO #tBranch FROM test.dbo.TB_test ts
    --下面的语句表明在同一个数据库内执行没有问题
SELECT IDENTITY(INT,1,1AS [NewID],* INTO #tBranch FROM TB_test

总结:
    这里不知道是不是数据库的BUG还是对数据库理解不够,期待高手解答。

转载于:https://www.cnblogs.com/over140/archive/2008/02/27/1083704.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值