Aşağıdaki kodda v$instance'dan çektiğimiz versiyon değerini v_version adlı parametreye atarız. Sonra bu parametreyi uygun bir şekilde substr fonksiyonuyla ayırdıktan sonra bununla ilgili kontrol işlemlerimizi yaparız.
1.script
variable v_version varchar2(17);
declare
BEGIN
select version
into :v_version
from v$instance;
:v_version := substr(:v_version,1,9);
if :v_version < '8.1.6.0.0'
and :v_version > '4.0' then
dbms_output.put_line(chr(10));
dbms_output.put_line('RDBMS Version = '||:v_version);
dbms_output.put_line('ERROR - Versiyon çok düşük');
dbms_output.put_line(chr(10));
end if;
exception
when others then
dbms_output.put_line(chr(10));
DBMS_OUTPUT.PUT_LINE('ERROR - RDBMS Versiyon hatası '|| sqlerrm);
END;
/
Global özelliğini göstermek için aşağıdaki kodumuzu ya SQL*PLUS'tan ya da Toad'dan f5 tuşuna basaraktan çalıştırıp görebiliriz. Aşağıdaki kodumuzda ilk script'imizde atadığımız v_version parametremizi ikinci scriptimiz içinde de direk kullanabiliriz.
İlk script de atanan değer aynı session içerisinde 2. scriptde de kullanılabileceğini göstermek için aşağıdaki scripti çalıştırabiliriz.
2.script
declare
BEGIN
select MAX(version)
into :v_version
from v$instance;
:v_version := substr(:v_version,1,9);
if :v_version < '8.1.6.0.0'
and :v_version > '4.0' then
dbms_output.put_line(chr(10));
dbms_output.put_line('RDBMS Version = '||:v_version);
dbms_output.put_line('ERROR - Versiyon çok düşük');
dbms_output.put_line(chr(10));
end if;
exception
when others then
dbms_output.put_line(chr(10));
DBMS_OUTPUT.PUT_LINE('ERROR - RDBMS Versiyon hatası '|| sqlerrm);
END;
/
declare
begin
dbms_output.put_line('RDBMS Version = '||:v_version);
end;
/
Hiç yorum yok:
Yorum Gönder