კატეგორია "SQL – PL/SQL"-ის არქივი
ORACLE-სთან ”მილინკვა” tnsname-ს ჩასწორების გარეშე
შეიძლება სათაურში კარგად ვერ დავწერე 🙂 ამ პატარა პოსტით და დიდი გულით მინდა ერთი ბაზის მეორე ბაზასთან მილინკვის ალტერნატივა დავწერო. როგორც წესი პირველ რიგში სერვერზე სადაც დგას ORACLE tnsname-ში უნდა ჩაემატოს მსგავსი სტრინგი –
utl_file – ფაილის წაკითხვა-ჩაწერა pl/sql-დან
ამ პოსტში მოკლედ განვიხილავ ორაკლიდან pl/sql-ის საშუალებით ფაილის ჩაწერა-წაკითხვის პროცედურას. იგი ერთგვარი გაგრძელებაა ძველი პოსტის Oracle-ის External Tables და მათან მუშაობა ხდება utl_file პაკეიჯის მეშვეობით. თავინდა სამუშაოდ გვჭირდება ორაკლის დირექტორია რომელსაც შევქმნით შემდეგი sql-ით
substr_count pl/sql-ში
ვაგრძელებ pl/sql-ში user defined ფუნქციების შექმნას. ამ პოსტში შემოგთავაზებთ substr_count ფუნქციას, რომელიც გვაქვს php-ში. შემდეგ ფუნქციას გადაეცემა 3 პარამეტრი substr_count ( სტრინგი რაშიც ვითვლით, სტრინგი რასაც ვითვლით, [case Sensitive = case ]). მეორე პარამეტრი შეგვიძლია გადავცეთ როგორ 1 ასევე რამდენიმე სიმბოლო ერთად. ხოლო მესამე პარამეტრით გადავცემთ ფუნქცია იყოს თუ არა კეის სენსიტივი. დეფაულტ მნიშვნელობად მას […]
is_numeric pl/sql-ში
is_numeric კამფეტივით ფუნქცია გვაქვს php-ში მარა pl/sql-ში… ვოოოო 🙂 ამიტომ გთავაზობთ იდენტური ფუნქციის შექმნას pl/sql-ში შემდეგი ფუნქციით შეგვიძლია შევამოწმოთ სტრინგი არის თუ არა რიცხვის ტოლფასი და იგი შესაბამისად აბრუნებს 1 და 0 მნიშვნელობებს არის თუ არა გადაცემული პარამეტრი რიცხვითი.
სტრინგის ტრანსლირება ორაკლში
მაგალითი თუ როგორ არის შესაძლებელი ორაკლში შრიფტის კონვერტირება (ჩვენს მაგალითში ლათინურიდან უნიკოდში) ვარიანტი 1 – ამის შესაძლებლობის 2 ვარიანტია 1- სადისტურ-მაზოხისტური, 2 – ორაკლისეული ადამიანური 😀 სადისტურ-მაზოხისტურში ვიგულისხმე ვარიანტი სადაც 2 სვეტიან ცხრილში გვაქვს ჩამოთვლილი ლათინური სიმბოლოები შესაბამისი ქართული უნიკოდით. ფუნქციაში ვიღებთ ამ ცხრილს და დასაკონვერტირებელ სტრინგს, ვუვლით სიმბოლ სიმბოლ და ვანაცვლებთ ცხრილში არსებულით და […]
დუბლიკატი ჩანაწერები
მიუხედავად დიდი ყურადღებისა არის ხოლმე შეგნებული თუ თვითნებური შემთხვევები როდესაც ცხრილში ხდება ჩანაწერის დუბლირება. განვიხილოთ ამოცანა რომელიც ითვალისწინებთ დუბლირებულ იჩანაწერების მოშორებას ცხრილიდან ავიღოთ ცხრილი 123456CREATE TABLE DUBL_TEST ( FNAME VARCHAR2(200), AGE NUMBER, BIRTHDAY DATE )
EXECUTE IMMEDIATE
EXECUTE IMMEDIATE საშუალებას გვაძლევს დინამიური SQL-ის გაშვებას. ის შეგვიძლია გამოვიყენოთ PL/SQL-ში ან დინამიური SQL-ის აშენებისას (მაგ, როდესაც ცვლადში გვაქვს ცხრილის სახელი ან WHERE ნაწილი და ა.შ)
Sql ბრძანებები ადმინისტრატორებისთვის
ქვემოთ ჩამოთვლილი ბრძანებებით შეგვიძლია გაკონტროლოთ ბაზის მონაცემები, კომპილაციები და ბევრი სხვა. გაითვალისწინეთ რომ ამ ბრძანებებით შესაძლოა რეზულტატი მივიღოთ მიმდინარე ბაზაში, მიმდინარე User-ში და მთელ DBA-ში
ელ-ფოსტის გაგზავნა ORACLE-დან
ამ ბლოგში მე ავხსნი თუ როგორ ხდება მარტივი წერილის გაგზავნა ORACLE-დან. მისი საჭიროება მას შემდეგ გამიხდა როცა მე წავედი დასასვენებლად და სამსახურში თვის დახურვის დროს გასაშვები პროცედურები გადავაბარე თამანშრომელს. მიუხედავად გამართული პროცედურებისა მაინც ხდებოდა გაუთვალისწინებელი შემთხვევები როცა პროცედურა გამართულად ვერ სრულდებოდა. კიდევ იყო და არის შემთხვევა როცა პერიოდული პროცედურის კონტროლი მესაჭიროება შეცდომის მოხდენის ან წარმატებით […]
ცხრილების შედარება ORACLE-ში
მოკლედ იმისათვის Oracle-ში რომ 2 ცხრილი, რომლებსაც ერთნაირი სტრუქტურა ააქვთ შევადაროთ ერთმანეთს შეგვიძლია თავი ავარიდოთ ისეთ სელექთებს როგორიცაა 12SELECT t1.* FROM table1 t1, table2 t2 WHERE t1.filed1<>t2.filed1 AND . . . და ა.შ. (მოყვანილი მაგ. არა მუშაა უბრალოდ სირთულე ავღნიშნე) არსებობს