在添加一条数据时,先得到这个待添加数据的主键ID 我可以不可以在添加一条数据时,先得到这个待添加数据的主键ID? 能作到吗,怎么做呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据编码规则构造一个出来就可以了在插入语句前写:declare @PriID varchar(10)select @PriId =构造的规则insert into tablename(主键)values(@PriId) IDENT_CURRENT返回为任何会话和任何作用域中的指定表最后生成的标识值。 语法IDENT_CURRENT('table_name')参数table_name是将要返回其标识值的表的名称。table_name 的数据类型为 varchar,没有默认值。返回类型sql_variant注释IDENT_CURRENT 类似于 Microsoft® SQL Server™ 2000 标识函数 SCOPE_IDENTITY 和 @@IDENTITY。这三个函数都返回最后生成的标识值。但是,它们在定义"最后"的作用域和会话上不同。 IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。 --獲取PUBS數據庫中, JOBS表的下一個JOB_ID值(JOB_ID是標識列)use pubsgoselect Next_job_id=ident_current('jobs')+ident_incr('jobs')--resultNext_job_id ---------------------------------------- 15(1 row(s) affected) 如果表中沒有identity()列, 則出錯 工齡計算 一个sql语句中的除法得到12位小数,怎么结果错误呢? 数据库配置问题 求一个处理数据的存储过程~大家帮忙啊 MSSQL问题!高手帮忙呀 Sql语句插入字段值中含有“(”或“:”符号,如何转义?利用ESCAPE,怎么用? 数据库不能还原 记录集包含的问题 SQL Server Express vss writer语言版本不正确 为什么我的SQL2000装不上? 有什么SQL语句可以把一个表里的两个字段连接起来吗?是"竖"连接.不是:field1+field2连接!!!!! 两个表查询得到这样的结果该怎样写这个查询语句??????
在插入语句前写:
declare @PriID varchar(10)
select @PriId =构造的规则insert into tablename(主键)values(@PriId)
返回为任何会话和任何作用域中的指定表最后生成的标识值。 语法
IDENT_CURRENT('table_name')参数
table_name是将要返回其标识值的表的名称。table_name 的数据类型为 varchar,没有默认值。返回类型
sql_variant注释
IDENT_CURRENT 类似于 Microsoft® SQL Server™ 2000 标识函数 SCOPE_IDENTITY 和 @@IDENTITY。这三个函数都返回最后生成的标识值。但是,它们在定义"最后"的作用域和会话上不同。 IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。
@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
--獲取PUBS數據庫中, JOBS表的下一個JOB_ID值(JOB_ID是標識列)
use pubs
go
select Next_job_id=ident_current('jobs')+ident_incr('jobs')--result
Next_job_id
----------------------------------------
15(1 row(s) affected)