AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2004, 11:31   #1  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Insert Recordset
Размышляю над кодом:

Syntax
INSERT_RECORDSET <destination-table> ( <list-of-fields> )

SELECT <list-of-fields1> FROM <source-table> [ WHERE <where-clause> ]

[ JOIN <list-of-fields2> FROM <joined-source-table> [ WHERE <joined-where-clause> ]]

это из хелпа... кто нибудь пробовал вставлять в таблицу набор записей ограниченный джойном двух таблиц... что не соображу.. как должен выглядеть синтаксис...
Старый 23.09.2004, 11:34   #2  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
криво получилось... вот так кравсивей:

PHP код:

Syntax
     INSERT_RECORDSET destination
-table ( list-of-fields )

        
SELECT list-of-fields1 FROM source-table WHERE where-clause ]

            [ 
JOIN list-of-fields2 FROM joined-source-table WHERE joined-where-clause ]] 
Старый 23.09.2004, 11:45   #3  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
хотя что там городить огород... написал примерно такой код:

PHP код:

insert_recordset tmp_Table 
(TransTableID,TransRecID)
         
select TransTableID,TransRecID
               from  MarkUpTrans where MarkUpTrans
.TransRecId == VendInvoiceTrans .RecId;
               
join VendInvoiceTrans WHERE VendInvoiceTrans.InvoiceId == InvoiceId

компилятор не ругается... но аксапта при исполнении молча падает... что я не вижу тут криминального ???
Старый 23.09.2004, 12:16   #4  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Insert Recordset глючит по черному. или по белому

Выше я уже спрашивал:
http://www.axforum.info/forums/showt...&threadid=6489

На сложных запросах валится Мне пришлось делать в 2 этапа

ЗЫ: эта имха моя. официальных сведений у меня нет
Старый 23.09.2004, 12:40   #5  
ALES is offline
ALES
Участник
Злыдни
 
220 / 45 (2) +++
Регистрация: 11.08.2004
Цитата:
Изначально опубликовано simply2double
... что я не вижу тут криминального ???
Первую точку с запятой

Если серьезней, tmp_Table временная? В SQL log смотрели?
Старый 23.09.2004, 12:46   #6  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Изначально опубликовано ALES

Первую точку с запятой

))) это просто описка )))
Старый 23.09.2004, 12:51   #7  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Fixlist от SP3:

Request No.: NO-212-520-5MRC

Subject: Problem with the SQL statement INSERT_RECORDSET

Description: Previously, the use of the SUM function within the SELECT statement of an INSERT_RECORDSET statement would cause Axapta to stop responding. The error has been corrected so the kernel can handle the SUM call. However, the statement still does not work correctly if the SUM call is used inside the SELECT statement.

2simply2double: Вам не кажется, что выражение

PHP код:
where MarkUpTrans.TransRecId == VendInvoiceTrans .RecId 
не на своем месте?
Старый 23.09.2004, 13:02   #8  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
первый вариант был такой... так сказать SQL интуитивный:

PHP код:
insert_recordset tmp_Table (TransTableID,TransRecID)
         
select TransTableID,TransRecID
              from  MarkUpTrans 
              join VendInvoiceTrans 
              where MarkUpTrans
.TransRecId == VendInvoiceTrans .RecId &&
                          
VendInvoiceTrans.InvoiceId == InvoiceId
но от этого ни чего не меняется...

а изменил прочитав во это:



Код:
Insert Recordset
Insert Recordset copies data from one or more tables directly into one resulting destination table - on a single server trip.

Syntax
     INSERT_RECORDSET <destination-table> ( <list-of-fields> )

        SELECT <list-of-fields1> FROM <source-table> [ WHERE <where-clause> ]

            [ JOIN <list-of-fields2> FROM <joined-source-table> [ WHERE <joined-where-clause> ]]

 

The <list-of-fields> in the destination table must match the list of fields in the source tables. Data is transferred in the order it appears in the list of fields. Fields in the destination table that are not present in the list of fields, are assigned zero-values as in other places in X++. System fields, including Recid, are assigned transparently by the kernel in the destination table.
Старый 23.09.2004, 13:14   #9  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Все просто
PHP код:
    insert_recordset tmp_Table (TransTableID,TransRecID)
        
select TransTableID from  MarkUpTrans
        join RecId from VendInvoiceTrans
                WHERE VendInvoiceTrans
.InvoiceId == "XXX" &&
                      
MarkUpTrans.TransRecId == VendInvoiceTrans.RecId
join Table = join * from Table, а Вам надо всего 2 поля
Старый 23.09.2004, 13:29   #10  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
ёёё... !!! интуитивно я знал что нужно указать поля, которые выбираются... но я пытался по сикуэльному указывать в выборке таким образом: "таблица.поле", на что компилятор ругался.. типа синтаксис ему не нравится... а тут оказывается все через... короче по аксаптовски... ))))

Спасибо за подсказку...
Старый 23.09.2004, 13:47   #11  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
а ведь это черным по практически русски написано в хелпе.. который я раз пять прочел... вот что значит костность мышления...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
method insert() when insert table from outside susenyudha DAX in English 1 29.08.2008 18:51
axaptapedia: Howto insert a menu reference into the MainMenu Blog bot DAX Blogs 0 03.08.2007 23:20
Про Insert, DoInsert и IAxaptaRecord::Insert murad DAX: Программирование 5 23.05.2006 12:26
Не найден исполнимый код метода insert Александр Костоусов DAX: Программирование 10 03.09.2004 16:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:46.