Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
DBAshnik
Member

Откуда:
Сообщений: 275
пользовались ли вы авто-конверторами типа http://www.sqlines.com/online ? (если да, то какими? И как впечатления от них?)
11 мар 19, 13:11    [21829076]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7820
DBAshnik,

Про такое лучше где-то здесь спрашивать:
Microsoft SQL Server
11 мар 19, 14:15    [21829194]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 50336
DBAshnik
пользовались ли вы авто-конверторами типа http://www.sqlines.com/online ? (если да, то какими? И как впечатления от них?)
простой запрос не смог перевести

оракл
WITH T AS
(
SELECT 1 grp, DATE'2019-1-1'                   dfrom, DATE'2019-1-3'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-1'+INTERVAL '1' HOUR dfrom, DATE'2019-1-2'-INTERVAL '18'HOUR  - INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-1'+INTERVAL '18'HOUR dfrom, DATE'2019-1-2'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-1'+INTERVAL '20'HOUR dfrom, DATE'2019-1-3'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-3'                   dfrom, DATE'2019-1-4'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-3'                   dfrom, DATE'2019-1-5'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-5'                   dfrom, DATE'2019-1-6'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 2 grp, DATE'2019-1-1'                   dfrom, DATE'2019-1-2'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 2 grp, DATE'2019-1-5'                   dfrom, DATE'2019-1-7'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 2 grp, DATE'2019-1-6'                   dfrom, DATE'2019-1-8'-INTERVAL '1' SECOND dto FROM dual
)
SELECT grp, MAX(s), MIN(D) KEEP(DENSE_RANK FIRST ORDER BY s desc nulls last)
  FROM
  (
SELECT grp, inout, d,
       SUM(inout) OVER(PARTITION BY grp ORDER BY D) s
  FROM
    (
    SELECT grp,  1 inout, dfrom D FROM T WHERE dfrom IS NOT NULL UNION ALL
    SELECT grp, -1 inout, dto   d FROM T WHERE dto   IS NOT NULL 
   )
 )
 GROUP BY grp


tsql
WITH T AS
(
SELECT 1 grp, DATE'2019-1-1'                   dfrom, DATE'2019-1-3'-INTERVAL '1' SECOND dto FROM dual UNION ALL
SELECT 1 grp, DATE'2019-1-1'+INTERVAL '1' HOUR dfrom, DATE'2019-1-2'-INTERVAL '18'HOUR  - INTERVAL '1' SECOND dto UNION ALL
SELECT 1 grp, DATE'2019-1-1'+INTERVAL '18'HOUR dfrom, DATE'2019-1-2'-INTERVAL '1' SECOND dto UNION ALL
SELECT 1 grp, DATE'2019-1-1'+INTERVAL '20'HOUR dfrom, DATE'2019-1-3'-INTERVAL '1' SECOND dto UNION ALL
SELECT 1 grp, DATE'2019-1-3'                   dfrom, DATE'2019-1-4'-INTERVAL '1' SECOND dto UNION ALL
SELECT 1 grp, DATE'2019-1-3'                   dfrom, DATE'2019-1-5'-INTERVAL '1' SECOND dto UNION ALL
SELECT 1 grp, DATE'2019-1-5'                   dfrom, DATE'2019-1-6'-INTERVAL '1' SECOND dto UNION ALL
SELECT 2 grp, DATE'2019-1-1'                   dfrom, DATE'2019-1-2'-INTERVAL '1' SECOND dto UNION ALL
SELECT 2 grp, DATE'2019-1-5'                   dfrom, DATE'2019-1-7'-INTERVAL '1' SECOND dto UNION ALL
SELECT 2 grp, DATE'2019-1-6'                   dfrom, DATE'2019-1-8'-INTERVAL '1' SECOND dto
)
SELECT grp, MAX(s), MIN(D) KEEP(DENSE_RANK FIRST ORDER BY s desc nulls last)
  FROM
  (
SELECT grp, inout, d,
       SUM(inout) OVER(PARTITION BY grp ORDER BY D) s
  FROM
    (
    SELECT grp,  1 inout, dfrom D FROM T WHERE dfrom IS NOT NULL UNION ALL
    SELECT grp, -1 inout, dto   d FROM T WHERE dto   IS NOT NULL 
   )
 )
 GROUP BY grp
только from dual выбросил
11 мар 19, 15:02    [21829249]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 50336
а вообще слабо верится
тем более насчет PL SQL
11 мар 19, 15:03    [21829250]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5293
Microsoft SQL Server Migration Assistant 8.1 for Oracle
хотя, вероятно, это не совсем из ряда того, о чём вы спрашивали...
11 мар 19, 15:24    [21829289]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 50336
Viewer
Microsoft SQL Server Migration Assistant 8.1 for Oracle
хотя, вероятно, это не совсем из ряда того, о чём вы спрашивали...
нам два года назад сказали, что всё наше ПО, созданное за 30 лет, переведут этим ассистентом за пару месяцев

Но говорили одни, а трезво оценивали другие
В общем, у нас пока ничего не поменялось
11 мар 19, 16:09    [21829366]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5293
2 andreymx
Как раз пару лет назад переводили довольно крупную покупную систему (на то время уже наполовину переделанную нашими разработчикам; жаба заела за нёё платить). Не за пару, но за тройку месяцев допилили конвертированный код. Так как пилкой дров занималась другая команда, за качество конвертирования ничего сказать не могу.
12 мар 19, 07:36    [21829928]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 50336
Viewer
2 andreymx
Как раз пару лет назад переводили довольно крупную покупную систему (на то время уже наполовину переделанную нашими разработчикам; жаба заела за нёё платить). Не за пару, но за тройку месяцев допилили конвертированный код. Так как пилкой дров занималась другая команда, за качество конвертирования ничего сказать не могу.
согласен, тема неоднозначна и многим есть что сказать
12 мар 19, 07:49    [21829931]     Ответить | Цитировать Сообщить модератору
 Re: кто конвертировал PL/SQL код в T-SQL (от Microsoft)  [new]
DBAshnik
Member

Откуда:
Сообщений: 275
andreymx
а вообще слабо верится
тем более насчет PL SQL


да, мне тоже чёта пока ))) Очень приятно бы удивился, если-б какая-либо прога смогла бы правильно и адекватно перевести row-based триггер (а в MsSQL такого и понятия то нет, если кто не в курсе) в соответствующий триггер на T-SQL.
15 мар 19, 13:04    [21833664]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить