Oracle和Mssql存储过程区别

存储过程 

 一. 多表连接查询,更新存储过程 

Sql存储过程 
ALTER PROCEDURE [dbo].[ GetEvent] 
@SCSWId nvarchar(20)= null , 
@ToDate DATETIME, 
@FromDate DATETIME 
AS 
SELECT NOTES.NOTE_ID, 
NOTES.NOTE, 
SCSW_CALENDAR.DATE_TIME 
FROM SCSW_CALENDAR 
LEFT OUTER JOIN NOTES ON SCSW_CALENDAR.NOTE_ID=notes.note_id 
WHERE SCSW_CALENDAR.SCSW_ID = SCSWId 
ORDER BY Patient.PatientId 

Oracel存储过程 

1.查询数据的存储过程 
PROCEDURE GetEvent(SCSWId IN VARCHAR2, FromDate IN DATE, ToDate IN DATE, refOut OUT refcursor
IS 
BEGIN 
OPEN refOut FOR 
select NOTES.NOTE_ID, 
NOTES.NOTE, 
SCSW_CALENDAR.DATE_TIME 
from SCSW_CALENDAR 
left join NOTES on SCSW_CALENDAR.NOTE_ID=notes.note_id 
where SCSW_CALENDAR.SCSW_ID = SCSWId 
AND SCSW_CALENDAR.DATE_TIME >= FromDate 
AND SCSW_CALENDAR.DATE_TIME < ToDate 
order by SCSW_CALENDAR.DATE_TIME; 
END GetEvent; 

2.更新数据的存储过程: 
procedure UpdateArticlesubmodel 

ArticleSubID number, 
ArticleTitle nvarchar2, 
ArticleKeyWord nvarchar2, 
ArticleContent CLOB, 
CreatePerson nvarchar2, 
ChangeDate date, 
SetTop number, 
ArticleSubStyleID number, 
Checked number 

as 
begin 
update "ArticleSubModel" 
set "ArticleTitle"=ArticleTitle, 
"ArticleKeyWord"=ArticleKeyWord, 
"ArticleContent"=ArticleContent, 
"CreatePerson"=CreatePerson, 
"CreateDate"=ChangeDate, 
"SetTop"=SetTop, 
"ArticleSubStyleID"=ArticleSubStyleID, 
"Checked"=Checked 
where "ArticleSubID"=ArticleSubID; 
commit; 
Exception when others then 
rollback; 
end UpdateArticlesubmodel; 
3.删除数据的存储过程 
procedure DeleteArticlesubmodel 

ArticleSubID number 

as 
begin 
delete from "ArticleSubAccessories" 
where "ArticleSubID"=ArticleSubID; 
delete from "ArticleSubModel" 
where "ArticleSubID"=ArticleSubID; 
commit; 
Exception when others then 
rollback; 
end DeleteArticlesubmodel;
posted @ 2012-09-04 08:07  汉城  阅读(696)  评论(0编辑  收藏  举报