oracle总结

1.Oracle中代替MSSQL内存储过程sp_columns的方法(查询所有列名):

①select * from user_tab_columns where table_name = ‘表名’;

②desc 表名

(注:查询出来的类型有的是不一样的)

 

2.SQL语句中不要用as

select * from info as a;    //这么写是错误的

select * from info a;      //这么写是正确的

 

3.SQL视图转换Oracle视图方法:

用PL/SQL右击Views新建视图,填写视图名称,然后直接复制SQL的视图语句粘贴到新建的Oracle视图CREATEORREPLACEVIEW V_USERS AS

 

4.Oracle创建、修改存储过程:CREATE OR REPLACEPROCEDURE skeleton

 

5.Oracle不支持select  top N

oracle中这样写,读取前N条:SELECT * FROM ( SELECT * FROM INFO ORDER BY SORT DESC)WHERE ROWNUM<=N;

 

6.Oracle中关键词字段不需要处理,不要加[ ],会报错

 

7.MSSQLselect* from table where id =@id;

ORACLEselect* from table where id =:id;

 

8.Oracle字段名不要用:orderfilebriefdescuidlevel

 

9.添加、修改日期类型字段时需要处理

insert  into table(created) values(‘2012/9/6’);   //错误

insert into table(created)  values(to_data(‘2012/9/6 12:50:45’,’YYYY-MM-DDhh:mm:ss’));   //正确

 

10.Oracle创建表和字段的时候最好不要加””,例如

CREATE TABLE "info" (

“id” INTEGER NOT NULL

)

加了双引号后查询等SQL语句也要加””

select  “id” from  “info”;

但是,如果是拼SQL语句的时候就很麻烦了,(我遇到这个问题的时候没有解决出来),比如:

string tablename = “info”;

string sql = “select * from “ +tablename;  //这么写看着是正确的,但是是错误的,因为表名创建时加了””,所以查询的时候也要加,但是这种情况怎么加?

 

11.Oracle修改表名的方法(这个方法可以把带””的表名改成不带的)

rename oldname to newname;

 

12.查询表是否存在:

MSSQLSELECTCOUNT(*) FROM [Information_Schema].[Tables] WHERE [TABLE_NAME] = ‘表名’;

Oracleselect count(*) from tabs where table_name = ‘表名’;

 

13.Oracle不支持一次执行两条SQL语句的方式,这样写报错,比如:

string strSql = "INSERT INTO TableName(ID,MYNAME)VALUES (:ID,:MYNAME); select max(ID) from TableName";

 

14.Oracle不支持SELECT Row_Number() over(order by ID_) rowNum2,* from INFO,这么写,要把*换成字段名称


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值