¡¾oracleÐòÁÐרÌâ¡¿£¨×ªÔØ£©
ORACLEûÓÐÏóSQL SERVERÖÐÒ»ÑùµÄ×ÔÔö¼Ó×ֶΣ¬ÒªÊµÏÖÖ»ÄÜͨ¹ýSEQUENCEÀ´ÊµÏÖ
1.´´½¨ÐòÁУº
create sequence your_seq
nocycle
maxvalue 9999999999
start with 1;
2.ʹÓô¥·¢Æ÷ʵÏÖ×ÔÔö£º
create or replace trigger your_seq_tri
before insert on your_table1 for each row
declare
next_id number;
begin
select your_seq.nextval into next_id from dual;
:new.id := next_id;
end;
ÔÚoracleÖУ¬ÎªÁË·½±ãÎÒ³£³£Óô¥·¢Æ÷¼°ÐòÁнáºÏÆðÀ´ÊµÏÖ£¬ÏÂÃæ¾ÍÊÇÒ»¸öʾÀý¡£
ÏȽ¨±í¡¢ÔÙ½¨ÐòÁС¢È»ºóÊÇ´¥·¢Æ÷£¬×îºó²âÊÔ
=============================================
--ΪÖ÷¼üÖ¸¶¨ÐòÁбàºÅ
--2003-10-8 15:53
=============================================
conn scott/tiger@powermis
drop table foo;
create table foo(
id number primary key,
data varchar2(100));
create sequence foo_seq;
create or replace trigger bifer_foo_id_pk
before insert
on foo
for each row
begin
select foo_seq.nextval into :new.id from dual;
end;
/
insert into foo(data)
values('Chirstopher');
insert into foo(id,data)
values(5,'Sean');
select * from foo;
Oracle8iÒýÈëÁËSYS_GUIDÕâ¸ö¸ÅÄËüͬOracle¹ÜÀíÔ±ËùʹÓõĴ«Í³µÄÐòÁУ¨sequence£©Ïà±È¾ßÓÐÖî¶àÓÅÊÆ¡£
Ò»¸öÐòÁÐÉú³ÉÆ÷Ö»ÊǼòµ¥µØ´´½¨´Ó¸ø¶¨µÄÆðµã¿ªÊ¼µÄһϵÁÐÕûÊýÖµ£¬¶øÇÒËü±»ÓÃÔÚÑ¡Ôñ³ÂÊöʽµÄʱºò×Ô¶¯µØµÝ
Ôö¸ÃϵÁС£
ÐòÁÐÉú³ÉÆ÷ËùÉú³ÉµÄÊý×ÖÖ»Äܱ£Ö¤ÔÚµ¥¸öʵÀýÀïÊÇΨһµÄ£¬Õâ¾Í²»ÊʺϽ«ËüÓÃ×÷²¢ÐлòÕßÔ¶³Ì»·¾³ÀïµÄÖ÷¹Ø¼ü
×Ö£¬ÒòΪ¸÷×Ô»·¾³ÀïµÄÐòÁпÉÄÜ»áÉú³ÉÏàͬµÄÊý×Ö£¬´Ó¶øµ¼Ö³åÍ»µÄ·¢Éú¡£SYS_GUID»á±£Ö¤Ëü´´½¨µÄ±êʶ·ûÔÚ
ÿ¸öÊý¾Ý¿âÀï¶¼ÊÇΨһµÄ¡£
´ËÍ⣬ÐòÁбØÐëÊÇDML³ÂÊöʽµÄÒ»²¿·Ö£¬Òò´ËËüÐèÒªÒ»¸öµ½Êý¾Ý¿âµÄÍù·µ¹ý³Ì£¨·ñÔòËü¾Í²»Äܱ£Ö¤ÆäÖµÊÇΨһ
µÄ£©¡£
SYS_GUIDÔ´×Ô²»ÐèÒª¶ÔÊý¾Ý¿â½øÐзÃÎʵÄʱ¼ä´ÁºÍ»úÆ÷±êʶ·û£¬Õâ¾Í½ÚÊ¡Á˲éѯµÄÏûºÄ¡£
create table use_seq_table(id integer);
create sequence use_seq_sequence;
insert into use_seq_table values (use_seq_sequence_value.nextval);
REM - for some reason, the documentation uses raw(32)
create table use_guid_table(id raw(16));
insert into use_guid_table(sys_guid());
ºÜ¶àÓ¦ÓóÌÐò¶¼ÒÀ¿¿ÐòÁÐÉú³ÉÆ÷À´´´½¨
Ïà¹ØÎĵµ£º
ÈçºÎÓ¦¶ÔORACLEÊý¾Ý¿âµÄ²¿·ÖÃæÊÔÌâÄ¿
1. ½âÊÍÀ䱸·ÝºÍÈȱ¸·ÝµÄ²»Í¬µãÒÔ¼°¸÷×ÔµÄÓŵã
½â´ð:Èȱ¸·ÝÕë¶Ô¹éµµÄ£Ê½µÄÊý¾Ý¿â£¬ÔÚÊý¾Ý¿âÈԾɴ¦ÓÚ¹¤×÷״̬ʱ½øÐб¸·Ý¡£¶øÀ䱸·ÝÖ¸ÔÚÊý¾Ý¿â¹Ø±Õºó£¬½øÐб¸·Ý£¬ÊÊÓÃÓÚËùÓÐģʽµÄÊý¾Ý¿â¡£Èȱ¸·ÝµÄÓŵãÔÚÓÚµ±±¸·Ýʱ£¬Êý¾Ý¿âÈԾɿÉÒÔ±»Ê¹Óò¢ÇÒ¿ÉÒÔ½«Êý¾Ý¿â»Ö¸´µ½ÈÎÒâÒ»¸öʱ¼äµã¡£À䱸· ......
ÓÐÁËÓα꣬¾Í¿ÉÒÔ²»ÓÃÿÌõÊý¾ÝÈ¥¼ì²éÊÇ·ñ·ûºÏÌõ¼þ£¬ÏÈ¿´Ò»ÏÂÏÂÃæµÄ£º
--ÓαêʹÓã¨ÓαêÆäʵÊÇÒ»¸ö·ÅÈëÄÚ´æÁÙʱ±í£©
declare
money cms3_simcard.card_fee%type :=0; --¶¨ÒåÓë±í×Ö¶ÎÏàͬÀàÐÍ
cursor mycursor is --¶¨ÒåÓαê
select ......
ǰÌì×°ºÃµÄ£Ï£ò£á£ã£ì£å£¬×òÌìͻȻ²»ºÃÓÃÁË£¬´ÓOracleµÄ´íÎóÌáʾÀ´¿´,ÊÇ˵TNS:no listener £¬¹À¼ÆÊÇijÖÖ·þÎñûÓÐÆô¶¯£¬´ò¿ªwindows¹ÜÀí¹¤¾ß->·þÎñ£¬Ò»¿´£¬ÓÐÒ»¸öOracleOraHome90TNSListenerÕâÑùµÄ·þÎñ£¬ºÍ´íÎóÐÅÏ¢ÌâÊÇÒ»Ö£¬»ù±¾¾Í¿ÉÒԿ϶¨ÊÇÕâ¸ö·þÎñËùÒý·¢µÄÎÊÌâ¡£ÔÙÒ»¿´£¬¸Ã·þÎñûÓÐÆô¶¯£¬ËìÊÖ¹¤Æô¶¯£¬Ë¢ÐºóÒ»¿´£¬¸Ã· ......
¡¡¡¡1¡¢Òì³£µÄÓŵã
¡¡¡¡
¡¡¡¡Èç¹ûûÓÐÒì³££¬ÔÚ³ÌÐòÖУ¬Ó¦µ±¼ì²éÿ¸öÃüÁîµÄ³É¹¦»¹ÊÇʧ°Ü£¬Èç
¡¡¡¡BEGIN
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ err ......