помогите написать агента

Тема в разделе "SQL", создана пользователем Cleric-Lviv, 14 мар 2011.

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    всем привет.
    мои знания в sql очень малы... но стоит задача написать агента которий будет делать следующее.

    имеем несколько таблицс данними. нужно ночью запустить агента которий пройдется по таблицам вичислит нужний результат и запишет ево в нужную таблицу.....

    итак имеем
    таблица "А" здесь мало записей.
    2 - колонки
    1. - имя подразделения(toboname)
    2. - номер подразделения(toboid)
    таблица "Б"
    1. - номер подразделения(toboid)
    2. - id клиента(customerid)
    3. - имя клиента(customername)
    4. - статус клиента (1/0)(status)

    итак берем с первой таблици первое toboid и пробуем найти:
    select * from "Б" where toboid = (здесь би передать ето значение как?)
    и записиваем ето в таблицу "В"
    select * from "Б" where toboid = () and status = 0
    select * from "Б" where toboid = () and status = 1
    и так далее

    помогите плиз,или ткните носом где можно увидеть пример.....
     
  2. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    не понимаю:)
     
  3. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol

    результат получаем из запросов потом записиваем в таблицу..
     
  4. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol


    select count() from "Б" where toboid = () and status = 0 -- виводит например 50. ето и есть результат:)
    и так дальше .... после всех select для вибраного toboid записиваем результат в сводную таблицу
     
  5. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol

    угу, что не руский ето факт:)
    ну каждий селект возвращает некий результат(число), субд = PL-SQL
    вот ети результати нужно записать в таблицу.
    колонка - данние
    id = toboid
    select(1) = результат 1-го селекта
    select(2) = результат 2-го селекта
    select(3) = результат -го селекта
    и т.д
     
  6. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    что хотел:)


    create or replace procedure select_row() is
    begin
    for cc in (select * from ххх.companies_name)
    loop
    insert into ххх.results(toboid, status0, status1, countall)
    values
    (
    cc.toboid,
    (select count(*) from ххх.vln_companies v where v.toboid = cc.toboid and status = 0),
    (select count(*) from ххх.vln_companies v where v.toboid = cc.toboid and status = 1),
    (select count(*) from ххх.vln_companies v where v.toboid = cc.toboid)
    );
    end loop;
    end
     
  7. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol

    ;)

    вот так всегда:mellow: ну тогда пожалуста напишите что криво.... буду исправлять ошибки:) и учится!
     
  8. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol

    PL-SQL
     
  9. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    ну буду штудировать:(
     
  10. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol

    Подскажите пожалуста, если я создаю вюху, и хочу записать данние только в первие три колонки а 4-5 оставить пустой(и заполнить их когда мне ето будет нужно), как ето реализировать?

    create or replace view ххх.name
    (tobonm, toboid, cnt, cnt0, cnt1)
    as
    select tobonm, toboid, count(1)
    from ххх.vln_companies
    group by tobonm, toboid
    ????????????
    ????????????;
     
  11. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    sax_ol

    не дочитал:( я думал что в вюхи можно записивать инфу как и в таблици
     
Загрузка...

Поделиться этой страницей