Readme.ge Blog

FB image FB image

Oracle Stored Sources

ავტორი: ალექსანდრე თარიღი: Friday, September 12th, 2008

რამდენიმე ხნის წინ დამჭირდა ორაკლიდან პროცედურის სოურსის ამოღება. როგორც ვიცით არსებული ობიექტების ჩამონათვალი და შესაბამისი მნიშვნელობები შეგვიძლია ამოვიღოთ სქლ-ით

1
SELECT * FROM user_objects

და შესაბამისად ამ არსებულ მომხმარებელში ცხრილების მნიშვნელობების ამოღება  –

1
SELECT * FROM user_tables

მაგრამ ჯერი მინდა სხვა ობიექტებზე, კერძოდ ფუნქციები, პროცედურები, პაკეჯები, ტრიგერები და ა.შ.
მიქექ-მოქექვის მერე აღმოვაჩინე მისი ადგილმდებარეობა ბაზაში. კერძოდ მათი სოურსის ამოღება შეგვიძლია SYS იუზერში განთავსებული all_source View-დან.

1
SELECT * FROM SYS.all_source WHERE owner='[თქვენი მომხმარებელი]'

ცხრილების ჩამონათვალიდან განსხვავებით აქ ერთი სპეციფიკა გხვდება, ანუ კერძოდ რომელიმე ერთი პროცედურის თუ ტრიგერის სოურსი წერია არა ერთ დიდ ტექტურ ველში, არამედ იგი დაყოფილია ხაზებად და შესაბამისად იმდენ ჩანაწერად არის პროცედურა გადმოცემული რამდენი ხაზი გვაქვს ჩვენს პროცედურაში (მათ შორის ცარილი ხაზიც (space) ).
ჯამში კონკრეტული ობიექტის სოურსის ამოსაღებად ვიღებთ შემდეგ სქლ-ს

1
SELECT text FROM SYS.all_source WHERE owner='[თქვენი მომხმარებელი]' AND NAME = '[ობიექტის სახელი]' AND TYPE = '[ობიექტის ტიპი]' ORDER BY line

და თუკი ეს ყველაფერი მიმდინარე User-ისთვის გვინდა მაშინ შეგვიძლია უფრო მოკლედ

1
SELECT text FROM user_source WHERE NAME = '[ობიექტის სახელი]' AND TYPE = '[ობიექტის ტიპი]' ORDER BY line

კატეგორიებში: ORACLE, დაულაგებელი. |

3 გამოხმაურება “Oracle Stored Sources”-ზე

  1. გიორგი:

    კარგი საიტია.

  2. გიორგი:

    “თქვენი კომენტარი ელოდენა მოდერირებას.”
    ელოდენა თუ ელოდება? 😀 ეს შესასწორებელია

  3. ალექსანდრე:

    ამჯერად უკვე ელოდება 🙂

დატოვე კომენტარი

...