я выполнить дизайн в кэше, и похоже, что он не допускает многократную вставку, т.е.SQL вставка не работает
insert into Ruler (...) values (...), values()....
или
insert into Ruler (...) values (...), (....)
Поэтому я решил создать метод для выполнения вставки. Проблема - это не работает. Каждая вставка в порядке. Удалить также работало, но не вставлялось. Нет ошибки, просто пустой стол.
Method Fill() As %Integer
{
&sql(insert into Ruler (nameRuler, biography, idRuler)
values ('Peter the Great','Born in Moscow, Russia on June 9, 1672, Peter the Great was a Russian czar in the late 17th century who is best known for his extensive reforms in an attempt to establish Russia as a great nation. He created a strong navy, reorganized his army according to Western standards, secularized schools, administered greater control over the reactionary Orthodox Church, and introduced new administrative and territorial divisions of the country.', 1)
)
&sql(insert into Ruler (nameRuler, biography, idRuler) values ('Boris Godunov','was de facto regent of Russia from c. 1585 to 1598 and then the first non-Rurikid tsar from 1598 to 1605. The end of his reign saw Russia descend into the Time of Troubles.', 2))
//&sql(delete from Ruler)
&sql(SELECT COUNT(*) INTO :count
FROM Ruler)
Quit "Total: "_count
}
Любые идеи ???
«Каждая вставка в порядке. Удаление также сработало, но не вставлено»? Вы имеете в виду, что отдельные инструкции вставки хорошо работают, но метод [конструктор значения таблицы] (http://technet.microsoft.com/en-us/library/dd776382.aspx) не работает? –
Ну, да. Отдельная вставка отлично работает, если выполняется через Portal (это аналог для phpmyadmin). Две и более вставки не работают на этом портале (поскольку синтаксис неверен, поэтому я предполагал, что это не поддерживается). Ни одна из вставке не работает, если вызвана из Object Method. Нет ошибки. Я не знаю о конструкторе значения таблицы, но не думаю, что это он. Я не создаю новую таблицу, я использую существующую. Теперь я пытаюсь сделать как ClassMethod, не Object .. Может быть, это сработает. (PS) Если вы знаете, как вызвать ClassMethod в кеше, пожалуйста, сообщите. Их документация ужасна. – Tigran
напишите ## class (Ruler) .Fill() - это то, как вызван метод ClassMethod. И результат равен 0 (нет вставки снова) – Tigran