sql server 和oracle 所用的sql 语法差别

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值