1. oracle查看当前用户下有什么对象(表、视图、同义词、快照)
SQL> select * from tab;
查看表结构
SQL> describe 表名
而sql server是sp_help
2.如何实现某一字段自动增加1?
大家都知道,sql server有个自动递增identity属性
而oracle是通过序列来实现的
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
nocycle;
当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
3 如何来限制查询所返回的行数?
sql server 中用top子句,如select top 10 * from 表名
而oracle利用rownum,rownum是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数。
只返回前10条纪录
SQL> select * from 表名 where rownum<11;
4.系统函数很多不同
如得到系统当前时间, ms sql 用getdate(), 而oracle用sysdate
5,利用现有表创建新表
sql server:
slect * into newtableName from oldtablename
oracle:
create table newtableName as select * from oldTableName
.插入来自其他表的数据
insert命令可以用来复制现有表中的数据 语法:
如果table1 和 table2 表结构相同
insert into table1 select * from table2
也可以将选定的列复制到新表
insert into table1 (column1,column2) select column1,column2 from table2