select * into uy from bc_kb;
大家看看上面这个语句,uy这个表不存在,bc_kb这个表存在有数据。这么写对吗?我打算把bc_kb复制到uy里面

解决方案 »

  1.   


    这样写:create table uy as select * from bc_kb;
      

  2.   

    1楼的可以,这样创建的表uy的字段名和类型同bc_kb一样!不过你还可以给新建的表指定字段名(字段的类型与bc_kb中相应字段一样),但字段的个数需要和bc_kb中相应字段一样,如下:
    create table uy(c1,c2)as select * from bc_kb;
      

  3.   

    网上举了两个例子insert into select from和select into from,大部分的写法都是像我那样的。我想问我的写法不对是吧!
      

  4.   

    insert into test_tab select from
    这个语句的使用,是在test_tab表已经存在的基础上的操作,而你的情况是test_tab该表不存在。
      

  5.   

    如果表存在的话:insert into table select ........
    如果表不存在的话:select * into uy from bc_kb; 
      

  6.   

    但是我用的是select * into uy from bc_kb;网上说的类似于我写的这条sql语句就是对应的表不存在的那种情况。不知道像我这么用错在哪里
      

  7.   

    可我用select * into uy from bc_kb;报错了missing keyword
      

  8.   

    错啦~~~~into uy  select * from bc_kb;
      

  9.   

    前提,uy表里面的字段要和bc_kb里面的一致~~
      

  10.   

    表不存在用这个吧
    create   table  uy   as   select   *   from  bc_kb;   
      

  11.   

    oracle 里面没有你的那种用法~~~
      

  12.   

    楼主的写法是T-SQL里面的。SQL SERVER2000适用。ORACLE就应该像一楼的写法。
      

  13.   

    楼主的写法是T-SQL里面的。SQL SERVER2000适用。ORACLE就应该像一楼的写法。