08.08.2005, 16:16 | #1 |
Участник
|
Запросы в Аксапта
Читаю книку "Разработа в Аксапта" раздел про составление запросов и что то не понимаю, как создать запрос с SQL-ным условием having - т.е. с условием на агрегатную функцию запроса.
И ещё если нужно сделать вложенный запрос типа (select * from (select * from LALALA)) как оно в аксапта реализуется? правильно ли я понял, что в аксапта все запросы через табл. переменную делаются или через объект query? |
|
08.08.2005, 16:27 | #2 |
Участник
|
Re: Запросы в Аксапта
Цитата:
Изначально опубликовано ibc
Читаю книку "Разработа в Аксапта" раздел про составление запросов и что то не понимаю, как создать запрос с SQL-ным условием having - т.е. с условием на агрегатную функцию запроса. И ещё если нужно сделать вложенный запрос типа (select * from (select * from LALALA)) как оно в аксапта реализуется? правильно ли я понял, что в аксапта все запросы через табл. переменную делаются или через объект query? Нет, можно делать запросы без использования объекта Query c помощью оператора X++ select, напр.: while select inventTable where inventTable.ItemId like 'булка*' Но чаще всего рекомендуется по возможности использовать классы Query и QueryRun.... |
|
08.08.2005, 16:35 | #3 |
Участник
|
Re: Re: Запросы в Аксапта
Цитата:
Изначально опубликовано Axapta
Having и вложенные запросы аксапта напрямую не поддерживается, но это довольно просто решается циклом (второе решение, на крайний случай) - через классы *Connection пишется любой запрос). Нет, можно делать запросы без использования объекта Query c помощью оператора X++ select, напр.: while select inventTable where inventTable.ItemId like 'булка*' Но чаще всего рекомендуется по возможности использовать классы Query и QueryRun.... Хмм... через классы Connection любой запрос пишется именно на скл? можно пример? |
|
08.08.2005, 16:44 | #4 |
Участник
|
Re: Re: Re: Запросы в Аксапта
Цитата:
Изначально опубликовано ibc
через цикл не годится...нужно, к примеру, что бы вложенный запрос отрабатывался за одно обращение к серверу! Хмм... через классы Connection любой запрос пишется именно на скл? можно пример? Пример из руководства: { UserConnection Con = new UserConnection(); Statement Stmt = Con.createStatement(); ResultSet R = Stmt.executeQuery('SELECT VALUE FROM SQLSYSTEMVARIABLES'); while ( R.next() ) { print R.getString(1); } } |
|
08.08.2005, 17:00 | #5 |
Участник
|
PHP код:
|
|
08.08.2005, 22:47 | #6 |
Administrator
|
executeQuery() - для исполнения любых конструкций T-SQL, возвращающих набор данных
executeUpdate() - для исполнение любых конструкций T-SQL, НЕ возвращающий набор данных. Для Oracle - соответственно поддерживается диалект Oracle (т.к. исполнение запроса идет именно сервером БД) В частности, для SQL Server вполне применимы такие конструкции типа PHP код:
|
|
|
|