Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 December 01

O

Oleg T in SqlCom.ru - Стиль жизни SQL
ᏃᏞᎪᎽᎬᏒ
Все работает и я понял свою ошибку. Видимо DataGrip как-то неверно создает запрос на восстановление в моем контейнере.  
Спасибо большое Олег.
Спасли меня ✌️
Попробуйте Azure Data studio. Мне она больше нравится и она все же ближе к sql server
источник

SS

Stefaniya Smirnova in SqlCom.ru - Стиль жизни SQL
Всем добрый вечер)
источник

O

Oleg T in SqlCom.ru - Стиль жизни SQL
Stefaniya Smirnova
Всем добрый вечер)
И вам добрый вечер.
источник

SS

Stefaniya Smirnova in SqlCom.ru - Стиль жизни SQL
Разработчик Oracle PL/SQL. #работа

Город и метро: Москва, офис на Римской (Таганской и Марксистской) всё в шаговой доступности.
Формат работы: фулл-тайм или частично в офисе (3 раза в неделю).
Занятость: полная.
Зарплатная вилка: от 80 000 до 200 000 на руки.

Компания Forward Telecom - известный на телекоммуникационном рынке разработчик программного обеспечения с 14-ти летним стажем, который является правообладателем целого ряда продуктов следующих семейств: CRM; Биллинг; Инфраструктура; Автоматизация бизнес-процессов; Аналитика; Портал самообслуживания; Управление дистрибуцией.

Одни из крупнейших наших клиентов — это Тинькофф Мобайл; Билайн; Иви; МТС; Газпром связь; Ростелеком; АЛМА-Групп; и прочие.

Обязанности:


• Разработка на PL/SQL (проектирование и реализация новых функциональных блоков, сопровождение существующих) ядра продуктовой линейки Forward;
• Доработка нового функционала под бизнес-задачи клиента;
• Профилирование и оптимизация высоконагруженных запросов.

Стек:

• Oracle 11.2 - 19.6;
• APEX;
• Интеграции (SOAP, REST): json, xml;
• Unit и e2e тесты (pl/sql, python);
• VCS: Git, SVN;
• CI: Jenkins, TeamCity;
• Jira, Confluence.

Требования:

• Знание Oracle, опыт написания сложных PL/SQL запросов;
• Опыт оптимизации запросов в Oracle Database;
• Знание одной из сред разработки;
• Знание биллинговых систем и CRM будет плюсом.

Что предлагаем:

• Интересные и сложные задачи;
• Scrum подход – работаем двухнедельными спринтами;
• Обязательное ревью кода;
• Итеративная разработка — большие проекты дробим на небольшие задачи и выпускаем постепенно;
• Отсутствие бюрократии;
• Оформление по ТК РФ;
• Возможность изучать и пробовать применять на практике новые технологии разработки;
• Гибкий график работы (забыть про утренние пробки — это бесценно);
• Офис в шаговой доступности от метро Римская, Таганская, Марксистская (10-15 минут в зависимости от вашего настроения и природных условий).

Website: https://fw-t.ru/
Контакты: Смирнова Стефания,
Senior IT recruiter.

Phone: +7 (964) 555-35-15
Telegram: @yoga_stefaniya
Skype: Stefaniya555
Email: recruitment@fw-t.ru
источник

S

Serg1k in SqlCom.ru - Стиль жизни SQL
Добрый вечер! Подскажите как составить запрос,  чтобы выбрать все записи из таблицы,  которые содержат нужное слово,  но в любом  столбце. Как-то так)
источник

К

Какой-то Хмырь... in SqlCom.ru - Стиль жизни SQL
Serg1k
Добрый вечер! Подскажите как составить запрос,  чтобы выбрать все записи из таблицы,  которые содержат нужное слово,  но в любом  столбце. Как-то так)
Это плохая затея в плане производительности.
Либо
Select ... Where col1 like '%word%' or col2 like '%word%' .....

Или

Select ... Where col1 + col2(тут касты надо будет поставить) .... Like '%word%'
источник

К

Какой-то Хмырь... in SqlCom.ru - Стиль жизни SQL
В пг это можно ускорить с помощью pg_trgm, а в сиквеле не получится.
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
Serg1k
Добрый вечер! Подскажите как составить запрос,  чтобы выбрать все записи из таблицы,  которые содержат нужное слово,  но в любом  столбце. Как-то так)
Я бы такой запрос написал.
declare @tbl_name sysname = 't_tmp_table';
declare @text_to_find nvarchar(max) = 'kaka';
declare @where_part nvarchar(max) = '';
select
 @where_part = @where_part + iif(row_number() over (order by c.name) = 1, '', 'or ') + c.name + ' like ''%{@text_to_find}%''' + char(13) + char(10)
from sys.tables t
inner join sys.columns c on t.object_id = c.object_id
inner join sys.types tp on c.system_type_id = tp.system_type_id
where t.object_id = object_id(@tbl_name)
and tp.name in (
 N'varchar',
 N'nvarchar'
)

declare @sql_template nvarchar(max) = N'select * from {@tbl_name} where 1 = 1 and ({@where_part})';
declare @sql nvarchar(max) = replace(@sql_template, '{@tbl_name}', @tbl_name);
set @sql = replace(@sql, '{@where_part}', @where_part);
set @sql = replace(@sql, '{@text_to_find}', @text_to_find)

exec (@sql)
источник

S

Serg1k in SqlCom.ru - Стиль жизни SQL
Serg1k
Добрый вечер! Подскажите как составить запрос,  чтобы выбрать все записи из таблицы,  которые содержат нужное слово,  но в любом  столбце. Как-то так)
Просто столбцов несколько десятков и перебирать все в условии не хотелось бы
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
Ну так вы их не будете перебирать, за вас это динамический Sql сделает
источник

S

Serg1k in SqlCom.ru - Стиль жизни SQL
Спасибо,  попробую
источник

К

Какой-то Хмырь... in SqlCom.ru - Стиль жизни SQL
Да все равно порнота та еще. Я бы рекомендовал отказаться от такого подхода
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Serg1k
Добрый вечер! Подскажите как составить запрос,  чтобы выбрать все записи из таблицы,  которые содержат нужное слово,  но в любом  столбце. Как-то так)
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Serg1k
Просто столбцов несколько десятков и перебирать все в условии не хотелось бы
Альт+ф1 на таблице- кнтрл+ с - кнтрл + в
Мультикурсор и дописываешь
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Alex
Я бы такой запрос написал.
declare @tbl_name sysname = 't_tmp_table';
declare @text_to_find nvarchar(max) = 'kaka';
declare @where_part nvarchar(max) = '';
select
 @where_part = @where_part + iif(row_number() over (order by c.name) = 1, '', 'or ') + c.name + ' like ''%{@text_to_find}%''' + char(13) + char(10)
from sys.tables t
inner join sys.columns c on t.object_id = c.object_id
inner join sys.types tp on c.system_type_id = tp.system_type_id
where t.object_id = object_id(@tbl_name)
and tp.name in (
 N'varchar',
 N'nvarchar'
)

declare @sql_template nvarchar(max) = N'select * from {@tbl_name} where 1 = 1 and ({@where_part})';
declare @sql nvarchar(max) = replace(@sql_template, '{@tbl_name}', @tbl_name);
set @sql = replace(@sql, '{@where_part}', @where_part);
set @sql = replace(@sql, '{@text_to_find}', @text_to_find)

exec (@sql)
А чё за синтаксис такой с {} это от коль так можно?
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Alex
Я бы такой запрос написал.
declare @tbl_name sysname = 't_tmp_table';
declare @text_to_find nvarchar(max) = 'kaka';
declare @where_part nvarchar(max) = '';
select
 @where_part = @where_part + iif(row_number() over (order by c.name) = 1, '', 'or ') + c.name + ' like ''%{@text_to_find}%''' + char(13) + char(10)
from sys.tables t
inner join sys.columns c on t.object_id = c.object_id
inner join sys.types tp on c.system_type_id = tp.system_type_id
where t.object_id = object_id(@tbl_name)
and tp.name in (
 N'varchar',
 N'nvarchar'
)

declare @sql_template nvarchar(max) = N'select * from {@tbl_name} where 1 = 1 and ({@where_part})';
declare @sql nvarchar(max) = replace(@sql_template, '{@tbl_name}', @tbl_name);
set @sql = replace(@sql, '{@where_part}', @where_part);
set @sql = replace(@sql, '{@text_to_find}', @text_to_find)

exec (@sql)
А, понял, реплейс.
Удобно однако
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Serg1k
Добрый вечер! Подскажите как составить запрос,  чтобы выбрать все записи из таблицы,  которые содержат нужное слово,  но в любом  столбце. Как-то так)
Никак, это не Эксель, это - редакционная БД.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Нарушение нормализации, Группа! На выезд!
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Нарушение нормализации, Группа! На выезд!
Аж поперхнулся со своим dwh
источник

OB

Oleg Basmanov in SqlCom.ru - Стиль жизни SQL
Упс.. Опечаточка 😁
источник