08-04-2022, 03:15 PM
(26-03-2022, 10:21 PM)khalmoh1971 كتب : ممكن مثال على الاستخدام
السلام عليكم
أعطيك مثالين
1 إذا كنت تريد إنشاء برنامج لإدارة قاعدة البيانات مثل Flamerobin/Ibexpert هذه الإستعلامات ضرورية
2 تريد إفراغ قاعدة البيانات لأي سبب ( إنتهاء التمرين / الفترة التجريبية ..
هذه استعلامات تسهل عليكم
أمثلة
تعطيل كل TRIGGERS
كود :
update
rdb$triggers
set
rdb$trigger_inactive = 1
where
rdb$trigger_source is not null
and ((rdb$system_flag = 0)
or (rdb$system_flag is null))تفعيلها
كود :
update
rdb$triggers
set
rdb$trigger_inactive = 0
where
rdb$trigger_source is not null
and ((rdb$system_flag = 0)
or (rdb$system_flag is null))اعادة قيم generators الى 0
كود :
execute block
AS
DECLARE VARIABLE s VARCHAR(100);
DECLARE VARIABLE g VARCHAR(100);
BEGIN
FOR SELECT RDB$GENERATOR_NAME FROM RDB$GENERATORS
WHERE RDB$SYSTEM_FLAG = 0 and RDB$GENERATOR_NAME<>'GEN_Prod_GROUP_ID' INTO :G
DO
BEGIN
S = 'ALTER SEQUENCE ' || G || ' RESTART WITH 0';
EXECUTE STATEMENT :S;
END
ENDحذف جميع السجلات من كل الجداول
* خذ بعين الإعتبار DEPENDENCIES RDB$DEPENDENCIES
كود :
execute block as declare variable TBL varchar(50);
begin
for select R.RDB$RELATION_NAME
from RDB$RELATION_FIELDS R
where R.RDB$SYSTEM_FLAG = 0 and
R.RDB$VIEW_CONTEXT is null
group by R.RDB$RELATION_NAME
into :TBL
do
execute statement 'delete from ' || :TBL;
end

![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)