create proc proc_aa
as
BEGIN TRAN
set nocount on
set ansi_warnings off
insert into B select * from A
IF @@ERROR<>0  GOTO errhandle
COMMIT TRAN
SELECT 1errhandle:
IF @@ERROR<>0
BEGIN
ROLLBACK TRAN
SELECT 0
ENDGO--成功返回1,失敗返回0

解决方案 »

  1.   

    insert into B select * from A提示有错误啊
      

  2.   

    insert into b select *from a
    如果量表结构相同,但若两个表中都有自动编号字段那就不可以,如a要导入到b,若a,b都有自动编号字段,把a的自动编号字段去掉就可以,若a的自动编号作关键字,呵呵,你的麻烦就大了
      

  3.   

    1.用DTS也比较好用啊,二张表是在同一个数据库里,还是二个不同的数据库里(这两个数据库的类型是否一样)
    2.BCP也可以啊
      

  4.   

    首先两个表的结构是不是一样的?insert into B select * from A提示有错误啊执行提示什么错误呢?
      

  5.   

    如果表結構相同的話,insert into B select * from A 可以執行
      

  6.   

    两个表在同一个数据库中, A B 表中都有自动编号ID ,提示出错的是无法执行INSERT
      

  7.   

    create proc proc_aa
    as
    BEGIN TRAN--->開始一個事務
    set nocount on --->不返回信息
    set ansi_warnings off --->錯誤不警告
    insert into B select * from A
    IF @@ERROR<>0  GOTO errhandle  -->發生錯誤跳轉到errhandle
    COMMIT TRAN -->不發生錯誤就提交事務
    SELECT 1errhandle:
    IF @@ERROR<>0   -->@@ERROR是全局變量,發生錯誤時不等於0
    BEGIN
    ROLLBACK TRAN---->發生錯誤回滾到原來狀態
    SELECT 0
    ENDGO
      

  8.   

    //insert into B select * from A提示有错误啊是不是你的兩個表字段結構不一樣?隻以結構一樣才能那樣寫,不一樣的要指明具體字段insert into B(col1,col2,col3...)  select  col1,col2,col3... from A