--建触发器(行级触发器)
إنشاء أو استبدال المشغل tri_update_emp_bak
بعد التحديث
على emp_bak
لكل صف - 每更新一行 就触发一次
يبدأ
--Oracle تم تحديثه بواسطة Oracle
dbms_output.put_line('更新后' || :NEW.sal);
dbms_output.put_line('المصدر' || :OLD.sal);
إذا كان التحديث بعد ذلك
نهاية إذا؛
إذا إدراج
نهاية؛
--建触发器(行级触发器)(前置)
إنشاء أو استبدال المشغل tri3_update_emp_bak
قبل التحديث
على emp_bak
لكل صف - 每更新一行 就触发一次
يبدأ
--Oracle تم تحديثه بواسطة Oracle
dbms_output.put_line('更新后' || :NEW.sal);
dbms_output.put_line('المصدر' || :OLD.sal);
نهاية؛
حدد * من emp_bak
تحديث emp_bak set sal = 1000 حيث empno في (7788)
--建触发器(表级触发器)
--//المنتجات الأصلية:جديد:قديم
إنشاء أو استبدال المشغل tri2_update_emp_bak
بعد التحديث
على emp_bak
يبدأ
-- dbms_output.put_line('更新后' || :NEW.sal);
--dbms_output.put_line('更新前' || :OLD.sal);
نهاية؛
--建触发器(行级触发器)
إنشاء أو استبدال المشغل tri4_update_emp_bak
بعد تحديث سال
على emp_bak
لكل صف - 每更新一行 就触发一次
يبدأ
--Oracle تم تحديثه بواسطة Oracle
dbms_output.put_line('更新后' || :NEW.sal);
dbms_output.put_line('المصدر' || :OLD.sal);
نهاية؛
إنشاء جدول معلومات المستخدم
(
رقم معرف المستخدم (4) المفتاح الأساسي،
اسم المستخدم varchar2(20)
)
إنشاء معلومات الجدول الإضافية
(
رقم Addrid (4) المفتاح الأساسي،
اسم الوظيفة varchar2 (20)،
رقم معرف المستخدم (4) مراجع معلومات المستخدم (معرف المستخدم)
)
أدخل في قيم معلومات المستخدم (1،'李四')
أدخل في قيم addrinfo (1،'湖北武汉'،1)
حدد * من addrinfo
احذف من معلومات المستخدم حيث معرف المستخدم = 1
--المنتجات
إنشاء أو استبدال المشغل tri_userinfo_delete
قبل الحذف
على معلومات المستخدم
لكل صف
يبدأ
احذف من addrinfo حيث معرف المستخدم = :OLD.userid;
- أدخل في
نهاية؛
قم بإنشاء جدول dept_bak كاختيار * من dept
إنشاء أو استبدال طريقة العرض myview
مثل
حدد a.empno،a.ename،a.sal،b.dname
من emp قسم الانضمام الداخلي ب
على a.deptno = b.deptno
اختر * من وجهة نظري
تحديث مجموعة myview sal = 1000، dname = 'aaaaa' حيث empno = 7499
--الحصول على أفضل النتائج في المستقبل
--الحصول على أفضل النتائج هو الحصول على أفضل النتائج في المستقبل
إنشاء أو استبدال المشغل tri_myview
بدلا من التحديث
على وجهة نظري
يبدأ
dbms_output.put_line('احصل على معلومات حول المنتج.
تحديث مجموعة empsal = :NEW.sal حيث empno = :OLD.empno;
تحديث مجموعة القسم dname = :NEW.dname حيث dname = :OLD.dname;
--delete from emp حيث empno = :OLD.empno;
نهاية؛
حدد * من emp؛
اختر * من القسم؛
تحديث مجموعة emp_bak ename ='aaaa',sal = 10000 حيث empno في (7788)
--المنتجات
-- 产生随机数
**** **** **** ****
--dbms_random.value 0-1 تم تحديد القيمة
--dbms_random.random اختيار عشوائي
حدد dbms_random.value من الثنائي؛
إنشاء أو استبدال الإجراء proc_cardno(mycardno out varchar2)
مثل
البطاقة المؤقتة varchar2(50);
كاردنو varchar2(19);
يبدأ
tempcard:= dbms_random.value;
Cardno:=substr(tempcard,2,4)||' '||substr(بطاقة مؤقتة،6,4)||' '||substr(بطاقة مؤقتة،10,4)||' '||substr(tempcard,14,4);
mycardno:=cardno;
- dbms_output.put_line(tempcard);
- dbms_output.put_line(cardno);
نهاية؛
--اطلب ملف UTL_FILE
إنشاء الدليل MY_DIR كـ 'd:temp'؛
إنشاء الدليل MY_DIR2 كـ 'd:temp2'؛
يعلن
--------------
ملفي utl_file.file_type;
--الحصول على أفضل النتائج في المستقبل
linestr varchar2(200);
يبدأ
-- 打开文件
myfile:= utl_file.fopen('MY_DIR','Oracle.log','r');
--进行读取(循环)
حلقة
utl_file.get_line(myfile,linestr);
dbms_output.put_line(linestr);
حلقة النهاية؛
استثناء
عند الآخرين بعد ذلك
utl_file.fإغلاق(myfile);
dbms_output.put_line('الطلب المسبق!');
نهاية؛
يعلن
--------------
ملفي utl_file.file_type;
--الحصول على أفضل النتائج في المستقبل
linestr varchar2(200);
يبدأ
-- 打开文件
myfile:= utl_file.fopen('MY_DIR','Oracle.log','a');
--المنتجات
--utl_file.get_line(myfile,linestr);
utl_file.put_line(myfile,'你好,这是新的数据',true);
utl_file.fإغلاق(myfile);
استثناء
عند الآخرين بعد ذلك
utl_file.fإغلاق(myfile);
dbms_output.put_line('الطلب المسبق!');
نهاية؛
-- 拷贝
يعلن
---------------
ملف المصدر utl_file.file_type;
الملف المستهدف utl_file.file_type;
--الحصول على أفضل النتائج في المستقبل
linestr varchar2(200);
يبدأ
-- 打开文件
sourcefile:= utl_file.fopen('MY_DIR','Oracle.log','r');
targetfile:= utl_file.fopen('MY_DIR2','copy.txt','a');
--进行读取(循环) 并且写入到新的文件里面
حلقة
utl_file.get_line(sourcefile,linestr);
utl_file.put_line(targetfile,linestr,true);
-- dbms_output.put_line(linestr);
حلقة النهاية؛
استثناء
عند الآخرين بعد ذلك
utl_file.f Close(sourcefile);
utl_file.fإغلاق(targetfile);
dbms_output.put_line('المصدر!');
نهاية؛
تم تحديث بيانات CSDN: http://blog.csdn.net/hzz1988/archive/2009/12/30/5107869.aspx