全球旧事资料 分类
idbegi
DBMS_OUTPUTPUT_LINEforcuri
cur_para001loopDBMS_OUTPUTPUT_LINEcurcide
dloope
d
开。
isope
属性,查看游标是否打
ROWCOUNT的使用方法
返回迄今为止从游标中取出的记录的数目。游标没有执行FETCH去数据或者没有打开之前,其值为0
然后开始FETCH以后,逐次加1
declaret_
amevarchar232cursormycurisselectcidfromhise_co
tractbegi
ope
mycur
floopFETCHmycurINTOt_
ameexitwhe
mycurNOTFOUNDORmycur
otfou
dis
ullmycur
otfou
dis
ull代表没有写FETCHDBMS_OUTPUTPUT_LINE游标mycur的ROWCOUNT值是:mycurROWCOUNTENDLOOPclosemycure
d
利用游标修改数据
declarecursormycurisselectcidfromhise_co
tractforupdatetextvarchar232begi
ope
mycurFETCHmycurINTOtextwhilemycurFOUNDLOOPUPDATEHISE_CONTRACTSETCIDCIDAAAAwherecurre
tofmycurFETCHmycuri
totext连续从游标中取数e
dloopclosemycure
d
隐式游标
隐式游标不需要声明cursor也不需要ope
close类似于把游标隐藏begi
forcuri
selectcidfromhise_co
tractloopDBMS_OUTPUTPUT_LINEcurcide
dloope
d
当表数据量过大,不建议使用游标,因为游标执行效率不高,专门消耗资源。
f储备过程;createorreplaceprocedureprocedure_
ameidi
varchar2默认输入参数is
amevarchar232begi
selectcidi
to
amefromhise_co
tractwherecididDBMS_OUTPUTPUT_LINE
amee
dprocedure_
amee
d后的名字能够不写
能够用那个命令查看储备过程中的错误。直截了当执行储备过程:executeprocedure_
ame‘001’
触发器:
触发器是一种专门的储备过程,专门性表达在其是自动完成,自动执行的,无需用户手动干预,只要做某种操作,就会自动运行,比如数据库中的表或视图发生增,删,改的操作时,对应的触发器就能够执行相应的PLSQL语句块。与储备过程与函数类似,都拥有声明,执行,专门处理过程,带名的PLSQL语句块,必须储备在数据库中,同时不能被块进行本地化的声明。对触发器而言,当对应的事件发生的时候,就会显式的调用相应的触发器。触发器是不同意参数的,like视图触发器:行级触发器,语句级触发器,替换触发器触发器的组成:1,触发器进行触发的一个事件;2,发生事件的对象;一样数据操纵语言的触发器差不多上建立在表上的,因此要指定触发所对应的对象是什么,
f当i
sert时,只涉及到
ew表,
exceptio
whe
othersthe
raise_applicatio
_error20200处理错误sqlcodesqlerrm
raise_applicatio
_error20000’信息’强行不让写东西的语句。一样有两个参数,第一个是错误号,第二个参数是给的具体内容。信息号范畴:20999到20000;
行级触发器:
1dr
好听全球资料 返回顶部