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 )
也就是说,可以利用该行中其他的已知信息获取该项数据。
。。。。。。
(未完,待续。)