PL/SQLÖÐRef CursorµÄÓ¦ÓÃ
PL/SQL×÷Ϊoracle¶ÔÓÚ´«Í³SQLÓï·¨µÄÀ©Õ¹,ÔÚ¿çϵͳÊÂÎñ´¦ÀíÒÔ¼°¶ÔÊý¾Ý¿â´óÅúÁ¿Êý¾Ý´¦Àí·½Ãæ×÷ÓÃÏÔÖø;¶øµ±Ç°Ö÷Á÷µÄMVC¿ò¼Ü¶ÔDAO²ãµÄ·â×°¶¼ÊÇÒ»ÌõSQLÓï¾ä·µ»ØÒ»¸ö¼Ç¼¼¯;µ±Êý¾ÝµÄ¹ØÏµ±È½Ï¸´ÔÓ»òÊý¾ÝÁ¿±È½Ï´óµÄʱºò,ÓëÊý¾Ý¿âµÄ½»»¥¹ýÓÚÆµ·±½«Ôö´óÄÚÍøµÄÊý¾Ý´«ÊäÁ¿ÓëÊý¾Ý¿âµÄIO.Õë¶Ô´ËÀิÔÓµÄÊý¾Ý´¦Àí,¿ÉÒÔ²ÉÓÃPL/SQL³ÌÐò°üÀ´ÊµÏÖÆäÒµÎñÂß¼.
ÄÜÔÚ×Ó³ÌÐòÖ®¼ä¹²ÏíÊý¾ÝµÄref cursorÔÚÕâ·½ÃæºÝ´óÓÅÊÆ,ÏÂÃæÊÇÎÒ×Ô¼ºÐ´µÄÒ»¸öÀý×Ó:
³ÌÐò°üÍ·:
Create or replace Package WesleyPackage
as
Type Test_CURSOR IS REF CURSOR;
Procedure SelectByProcedure( QueryRecordNumStatment1 in varchar ,QueryTotalRecordInfoStatment2 in varchar , QueryPageInfoStatment3 in varchar,CurrentPage4 in number , ShowRange5 in number , RecordNum6 out number ,TotalInfoRS7 out WesleyPackage.Test_CURSOR, PageInfoRS8 out WesleyPackage.Test_CURSOR );
End WesleyPackage;
³ÌÐò°üÌå:
--´øÓÐout²ÎÊýµÄ´æ´¢¹ý³Ì±ØÐëͨ¹ýjava jdbcµÄCallableStatementµ÷Ó÷½Ê½´òÓ¡Êä³ö½á¹û
--´æ´¢¹ý³ÌµÄ²ÎÊý²»ÄÜΪ ibatisÖÐµÄ po¶ÔÏó
Set serveroutput on;
Create or replace Package Body WesleyPackage as
Procedure SelectByProcedure( QueryRecordNumStatment1 in varchar
,QueryTotalRecordInfoStatment2 in varchar
, QueryPageInfoStatment3 in varchar,CurrentPage4 in number
, ShowRange5 in number , RecordNum6 out number
,TotalInfoRS7 out WesleyPackage.Test_CURSOR
, PageInfoRS8 out WesleyPackage.Test_CURSOR ) as --×¢ÒâûÓÐCreate
beginRowNum number;--µ±Ç°Ò³µÄÊ×Ìõ¼Ç¼µÄÐòºÅ
endRowNum number; --µ±Ç°Ò³µÄÄ©Ìõ¼Ç¼µÄÐòºÅ
showNum number; --¸ù¾Ý²éѯµÃµ½µÄ×ÜÌõÊýºÍÏÔʾ·¶Î§µÃµ½µÄÒ»¸ö½ÏСֵ
showRecordPerPage number:= 30;--ÿҳÏÔʾµÄÌõÊý
pageSQL varchar2(300);
Begin
execute immediate to_char(QueryRecordNumStatment1) i
Ïà¹ØÎĵµ£º
·µ»Ø´ú±íÖ¸¶¨ÈÕÆÚµÄÖ¸¶¨ÈÕÆÚ²¿·ÖµÄÕûÊý¡£
Óï·¨
DATEPART ( datepart ,date )
²ÎÊý
datepart
ÊÇÖ¸¶¨Ó¦·µ»ØµÄÈÕÆÚ²¿·ÖµÄ²ÎÊý¡£Ï±íÁгöÁË Microsoft® SQL Server™ ʶ±ðµÄÈÕÆÚ²¿·ÖºÍËõд¡£
ÈÕÆÚ²¿·ÖËõд
year
yy, yyyy
quarter
qq, q
month
mm, m
dayofyear
dy, y
day
dd, d
week
wk, ww
weekda ......
CEILING£º
½«²ÎÊý Number ÏòÉÏÉáÈë£¨ÑØ¾ø¶ÔÖµÔö´óµÄ·½Ïò£©Îª×î½Ó½üµÄ significance µÄ±¶Êý¡£ÀýÈ磬Èç¹ûÄú²»Ô¸ÒâʹÓÃÏñ“·Ö”ÕâÑùµÄÁãÇ®£¬¶øËùÒª¹ºÂòµÄÉÌÆ·¼Û¸ñΪ $4.42£¬¿ÉÒÔÓù«Ê½ =CEILING(4.42,0.1) ½«¼Û¸ñÏòÉÏÉáÈëΪÒÔ“½Ç”±íʾ¡£
Óï·¨
CEILING(number,significance)
Number ÒªËÄÉáÎåÈëµÄÊýÖµ ......
ÒýÓÃ
show me µÄ SQL SERVERÃüÁî´óÈ«£¨ÖµµÃѧϰµÄ¶«Î÷£©
--Óï ¾ä ¹¦ ÄÜ
--Êý¾Ý²Ù×÷
SELECT --´ÓÊý¾Ý¿â±íÖмìË÷Êý¾ÝÐкÍÁÐ
INSERT --ÏòÊý¾Ý¿â±íÌí¼ÓÐÂÊý¾ÝÐÐ
DELETE --´ÓÊý¾Ý¿â±íÖÐɾ³ýÊý¾ÝÐÐ
UPDATE --¸üÐÂÊý¾Ý¿â±íÖеÄÊý¾Ý
--Êý¾Ý¶¨Òå
CREATE TABLE --´´½¨Ò»¸öÊý¾Ý¿â±í
DROP TABLE --´ÓÊý¾Ý¿âÖÐɾ³ý±í
ALTER T ......
ÕâÊÇÒ»Ìõµß¸²³£¹æµÄ²åÈë·½·¨£¬Ò»ÌõINSERTÓï¾ä¿ÉÒÔÍê³ÉÏò¶àÕűíµÄ²åÈëÈÎÎñ¡£Ð¡Ð¡µØÕ¹Ê¾Ò»ÏÂÕâÖÖ²åÈë·½·¨¡£
1.´´½¨±íT²¢³õʼ»¯²âÊÔÊý¾Ý£¬´Ë±í×÷ΪÊý¾ÝÔ´¡£
sec@ora10g> create table t (x number(10), y varchar2(10));
sec@ora10g> insert into t values (1,'a');
sec@ora10g> insert into t values (2,'b');
......
¼òµ¥µØËµ£¬¾ÍÊÇ´ÓCDMÉú³ÉPDMµÄʱºò£¬releationshipÔ¼ÊøÎÞЧ£¬²»ÄÜÉú³ÉÍâ¼üÔ¼ÊøµÄ´úÂë¡£Éú³É»ùÓÚoracleµÄpdmûÎÊÌ⣬ms sql serverÓÐÎÊÌâ
ÕâÀïµÄÊÇsql server 2005
Power DesignerÊÇ15.0.0.2613
¿´Æð來ÊÇPDµÄbug,½â決辦·¨ÊÇÔÚPDM畫ÃæÖÐ點選Model->References...
會Ìø³öÒ ......