insert into select from 批量插入数据事务
SET @strSql = 'INSERT INTO ' + @strSqlTableName + '('+ @strSqlFiled +',userid,StaffNumbers) SELECT a.*,b.id,b.StaffNumbers FROM ##Temp a join ry_frmUser b on a.姓名=b.LastName'
##Temp表的数据是存储过程从Excel读取的数据
在存储过程里,试过了几种方法都不行
1. Set NOCOUNT ON;
Set XACT_ABORT ON;
begin tran
EXEC(@strSql)
commit tran
2. begin tran
begin try
EXEC(@strSql)
end try
begin catch
if(@@trancount > 0)
begin
print '插入失败,回滚...'
rollback tran
end
end catch
if(@@trancount >0)
begin
print '插入成功!'
commit tran
end
3. BEGIN TRAN trans1
EXEC(@strSql)
DROP TABLE ##Temp
set @flag='1'
IF @@ERROR<>0
goto ERROR_HANDLER;
COMMIT TRAN trans1
return;
ERROR_HANDLER:
BEGIN
ROLLBACK TRAN trans1;
set @flag='0'
END;
请高手指点,谢谢了!
相关推荐
sql 插入数据的三种常用方法及小贴士
我们在插入数据到数据库中的时候,常用的语句如下
Oracle批量插入数据的三种方式【推荐】
第一种: begin insert into tableName(column1, column2, column3...) values(value1,value2,value3...); insert into tableName(column1, column2, column3...) values(value1,value2,value3...); insert into tableName(column1, column2, column3...) values(value1,value2,value3...); ... end; 第二种: insert int
mysql 选择插入数据(包含不存在列)具体实现
mysql> select ‘name’,id from table_b; //’name’ 不在table_b表中 +——+———–+ | name | id | +——+———–+ | name | 123456 | | name | 1234567 | | name | 12345678 | | name | 123456789 | +——+———–+ 4 rows in set (0.00 sec) 代码如下: mysql> insert into table_a(name,b_refer) select ‘name’, id from table_b; //’name’ 不在tab
mssql insert into 和insert into select性能比较
今天没事,测了一下insert into和insert into select的性能,没想到这两个性能差别这么大。
利用SQL语句插入批量数据.rar
利用SQL语句插入批量数据.rar利用SQL语句插入批量数据.rar利用SQL语句插入批量数据.rar


疑难问题
