Перевод Запроса 1С в SQL? #524994


#0 by Serginio1
Часто приходитс перреводить 1с запрос в SQL для различных задач.С небольшими запросами нет проблем, но хочется сразу перевести. Простейший преобразователь в голове есть, но может уже ктото решал эту проблему или есть соответствие ключевых слов 1С с SQL. Просто нет времени, но хочется и по быстрому.
#1 by SnarkHunter
>> но хочется и по быстрому Без труда не вынешь ... из штанов.
#2 by mikecool
писать запросы на английском - половину переводить не надо будет
#3 by toypaul
в профайлере смотри. не все конечно, но большая часть.
#4 by Serginio1
Если есть уже какието наработки зачем все писать с нуля? Хо тя бы соответствие ключевых слов
#5 by mikecool
под постгри не попадался?
#6 by Defender aka LINN
Так прикольно потом смотреть на такой говонокод :)
#7 by mikecool
типа ВЫБРАТЬ - SELECT ?
#8 by Defender aka LINN
А что это даст?
#9 by SnarkHunter
Английские слова выучит
#10 by Serginio1
Да Что я там потерялся Напипишу преобразователь сначала разбив текст на термы, затем заменить их рускоязычные термы на английскиу, Найти определения таблиц и псевдонимов 1С и заменить их на реальные и поля по псевдонимам, аналогично рекурсивно пройтись по подзапросам. Задача видится не очень сложной, но требующей время которого нет
#11 by Serginio1
ну хочется использовать конструктор, который мне очень нравится
#12 by Fynjy
Кто ищет тот обрящет ... Таких трансляторов полно ...
#13 by kiruha
Вы ошибаетесь. Задача достаточно трудоемкая и не сводится к простому переводу Нечто аналогичное -
#14 by Defender aka LINN
Как насчет виртуальных таблиц? Параметров?
#15 by Serginio1
8.2 достаточно приближены к SQL и допилка их не сложная. Спасибо за совет уже давно им воспользовался но не нашел
#16 by Fynjy
Ну вот к пример ... ...
#17 by el-gamberro
Это делатся по другому. 1с-вский запрос помещает необходимые данные во временную таблицу. Запрос SQL выглядит так:
#18 by mikecool
запросы в 8.х уже достаточны и допиливать их смысла нет разве что умудриться хинты вставлять
#19 by el-gamberro
Смысл есть. К примеру в 1с ких запросах нет простейшего ltrim(rtrim)
#20 by mikecool
вот только из-за этих двух функций городить огород?
#21 by Serginio1
Я использую для оптимизации с помощью использования всего арсенала T-SQL, для массовых изменений.
#22 by mikecool
+20 сказал бы за cast или convert, а так...
#23 by mikecool
ну, батенька... запросы 1с вообще не предназначены для изменения
#24 by Ненавижу 1С
EXISTS нету!
#25 by el-gamberro
иногда из-за их отсутсвия приходится огород покруче городить))
#26 by kiruha
Собственно разве есть что то еще кроме German ? >>8.2 достаточно приближены к SQL и допилка их не сложная. Попробуйте для начала, хотя бы перевести "точки" в запросах Про вспомогательные временные таблицы и оптимизацию промолчу
#27 by mikecool
ну можно малой кровью заменить где 1 в (выбрать 1 из ...) :))
#28 by Serginio1
Я его уже давно знаю.Там не совсем то что нужно. Нужно получить запрос с нормальными полями, для его дальнейшего изменения.
#29 by Serginio1
Спасибо, но вместо Select всегда можно подсавить Delete или Update Или Merge при булках
#30 by DmitrO
c этой задачей отлично справляется технологический журнал.
#31 by Serginio1
Использую только пакетные запросы. Смотри А хочется без лишних телодвижений.
#32 by DmitrO
Т.е. те телодвижения которые ты планируешь совершить в ты лишними не считаешь? :)
#33 by Berck
SQLPlus вот посмотри.
#34 by Serginio1
Огромнейший респект. Спасибо!!! Мельком глянул очень понравилось. Там немного допилить добавить псевдонимы полей виртуальные таблицы разбить на подзапросы. Да и поля опционно можно русскими оставлять.
#35 by PowerBoy
Да не довел я ее до ума - но как то использовать можно.
#36 by КонецЦикла
1С массу информации обрабатывает в своих кишках, всего не увидеть Если цель - скорость и некоторые бонусы настоящего T-SQL то имеет смысл на нем и писать :)
#37 by Serginio1
Да ничего сам потихонечку допилю по необходимости и если нужно тебе скину. Еще раз большое спасибо за труды!!!
#38 by Serginio1
Ну хочется использовать удобный конструктор, понимаемые поля, а затем уже этот текст адаптировать под все возможности T-SQL
#39 by kiruha
Не совсем понял - в SQLPlus виртуальные таблицы реализованы ?
#40 by Serginio1
Насколько я понял то нет. Но можно дописать. например для среза последних Функция СоздатьТекстСрезПоследних(ИменаГрупСтр,ИменаРесурсовСтр,Регистр)
#41 by Serginio1
Я обычно соединяюсь виндовую аутентификацию с сервера Процедура ПолучитьSqlИмяСервераИБазы(Сервер,Порт,ИмяБазы,SqlServer,SqlBaseName)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С