问题描述
表tab的ID为自增长,插入数据后获取自增长的ID方法一:在代码里直接写strInsert="insertintotab(name...)values('张三',...);selectident_current('tab')";后面获取自增的语句可能因数据库不同而不同。。这里以sqlserver为例方法二:在存储过程里...insertintotab(name,....)values(@name,...)set@out_new_id=ident_current('tab')想问下方法一有什么弊端没?会受到并发性的影响不?
解决方案
解决方案二:
sqlserver存储过程可以直接返回@@Identity变量得到自增值只要存储过程名不变,那么换做其他数据库,你要做的就是修改存储过程即可
解决方案三:
自增长的ID没什么问题的,不会受并发影响
解决方案四:
引用1楼的回复:
sqlserver存储过程可以直接返回@@Identity变量得到自增值只要存储过程名不变,那么换做其他数据库,你要做的就是修改存储过程即可
因为有的表很简单。不想写那么多储存过程,要是换数据库,还得一个个改,麻烦。。所以想在代码里处理算了。。
时间: 2024-10-22 07:04:40