SQL sorğunun içində prosedurun çağrılması

Salam. Mən elə bir sql sorğu yazmaq istəyirəm ki sahələrdən biri prosedur çağırsın və qiymətini həmin sahəyə yazsın.Bu mümkündürmü?Mümkündürsə necə həll edə bilərəm?Məsələn "SELECT (id,ad,soyad,borc=procedur(id) ) FROM table "

Verilmiş cavablar və yazılan şərhlər (4 cavab var)

Ramin Orucov (2011-09-18 13:40:49)
Nəyə görə borc haqda məlumatı ayrı funksiya ilə əldə etmək istəyirsiniz? Çox güman ki, SQL sorğusu yazmaqla bunu həll etmək olar, belə olan halda bunu T-SQL və ya PL/SQL funksiya ilə həll etmək məqsədəuyğun deyil. Nəzərə alın ki, sizin funksiya select-dən gələn hər bir sətir üçün bir dəfə işləyəcək. Məsələn, sorğu 1000 sətir qaytarırsa, onda həmin funksiya 1000 dəfə işləyəcək, bunun üçün də 1000 dəfə SQL-PL/SQL context switch olacaq, performans adi SQL sorğusuna nisbətən dəfələrlə aşağı olacaq. SQL dilinin imkanları genişdir, onu yaxşı öyrənmək və tətbiq etməklə işi daha yaxşı və sürətli yerinə yetirmək olar.

Rovshan Musayev (2011-06-20 15:51:50)
Anladığım qədəriylə siz belə bir sey istəyirsiz: Tutaq ki 2 cədvəl verilib. 1-ci cədvəl insanlar(id,ad,soyad) sutunlarından ibarət olub insaların siyahısı, 2-ci cədvəldə borclar(id,borc) isə həmin şəxslərin borcu var və bu cədvəllər bir birinə id ilə bağlanır. onda 1-ci [code] create or replace function get_debt(p_id number) return number is v_debt number; begin select borc into v_debt from borclar where id=p_id; return v_debt; end; [/code] Sonra isə bu yaratdığımız procedurdan istifadə etməklə [code] select *, get_debt(id) from insanlar; [/code] sorğusunu çağırırıq.

Sənan (2011-06-20 14:17:45)
[code] CREATE FUNCTION Cem ( @a FLOAT, @b FLOAT ) RETURNS FLOAT AS BEGIN DECLARE @Value FLOAT SET @Value = @a + @b; RETURN @Value; END [/code] SELECT Name Ad, dbo.Cem(Maas, Pensiya) Gelir FROM Isci

Sənan (2011-06-20 14:01:33)
Cahangir müəllim, sən dediyin funksiya ilə mümkündür. Procedure ilə yox