Oracle存储过程转成Sqlserver存储过程
Oracle存储过程转成Sqlserver存储过程
1.日期转换
Oracle: TO_NUMBER(TO_CHAR(SYSDATE, 'YYYYMMDD'))
SqlServer:CAST(CONVERT(CHAR(8),GETDATE(), 112) AS INT)
注:其中‘YYYYMMDD’格式 对应112
2.ROWID转换
Oracle: ROWID
SqlServer: PRIMARY KEY(表主键)
3.ROWNUM
Oracle: ROWNUM = 1
SqlServer: Top 1
注:一般Select中的这个可以直接替换,但是在Update中就比较难了,如下:
Oracle: UPDATE ITEM_MST SET
HISD_FLAG = 1
WHERE
ROWID = C2.ROWID;
Sqlserver : UPDATE ITEM_MST SET
HISD_FLAG = 1 --AND ROWNUM = 1 ---KEY
WHERE ITEM_CD IN --=
(SELECT TOP 1 ITEM_CD from ITEM_MST WHERE SALES_NO = @C1_ITEM_NAME )
也就是说,可以利用该行中其他的已知信息获取该项数据。
。。。。。。
(未完,待续。)
相关文档:
一、SQL的使用
CREATE、ALTER和DROP是主要的3种DDL语句,这些语句被用于在数据库中添加、修改或删除对象。
DCL语句包括GRANT和REVOKE命令,它们可以被用于为用户或角色授予或取消权限,可以被授予和取消的两种权限是系统权限和对象权限。取决于不同的对象类型,对象权限可能不同。
操纵或检索数据都需要使用DML语句。D ......
到Oralce路径下
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
ZHG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = leehong)(PORT = 1521))
)
(CONNECT_DATA =
& ......
之前给大家介绍了在WIN7上Oracle 10g的安装方法,接下来就该给大家介绍它的卸载方法了。很多人不敢安装Oracle就是担心安装后会卸载不干净,其实当初我也有过这个顾虑,呵呵。但后来发现,其实卸载是很容易的事。就几步而已,不信就请看:
可以使用产品自带的卸载工具去卸载。
1. ......
---创建表空间
create tablespace 表空间名字 datafile 'F:\oracle\product\10.2.0\oradata\wsdata\yss01.dbf' size 4096M;
alter tablespace 表空间名字 add datafile 'F:\oracle\product\10.2.0\oradata\wsdata\yss02.dbf' size 4096M;
alter tablespace 表空间名字 add datafile 'F:\oracle\product\10.2.0\oradata\w ......
1)不知大家是否喜欢使用‘NOT IN’这样的操作,如果是,那尽量使用(NOT) EXISTS 替代
2)在海量查询时尽量少用格式转换。
3)查询海量数据是,可以使用optimizer['ɔptimaizə] hints,例如/*+ORDERED */
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。
不用NOT IN操作符,可以 ......