До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Дневник студента

Найти хранимую процедуру и не потерять себя

Время чтения статьи ~2 минуты
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Найти хранимую процедуру и не потерять себя главное изображение

Я уже несколько лет работаю с базами данных в разных компаниях. На каждом новом месте существуют свои установленные правила и традиции по работе с СУБД (система управления базами данных). Где-то фиксируют каждое изменение, где-то важен только результат выполненной работы, и все изменения передаются из уст в уста. Могу сказать, что постоянная фиксация изменений очень помогает в работе, так как к базе могут обращаться несколько программистов.

Для себя могу выделить основные моменты, которые выручали меня неоднократно.

  1. Перед правкой (выполнение update каких-то таблиц) обязательно сделать backup базы данных. 1.1 для MS SQL: sql management studio есть встроенная задача для базы - "Создать резервную копию" 1.2 для postgresql: Есть одно замечание: при использовании первого варианта размер бэкапа огромный. 1.2.1 pg_dump -U %имя пользователя% -Fc -d %имя базы% > %path%\%name_dump%.dump - некорректно создает файл так как использует стандартный PIPE - происходит ошибка кодировки 1.2.1pg_dump -U %имя пользователя% -Fc -d %имя базы% -f - решает проблему кодировки

  2. Проверить (по возможности) с каким функционалом связаны таблицы, в которые вносятся изменения. Если это продуктовая база, то выполнение каких-либо действием строго после работы конечных пользователей или программистов, которые разрабатывают функционал, обращаясь к базе.

  3. Если необходимо найти какие-то функции или хранимые процедуры в базе, расположенной на удаленном сервере у заказчика, где установка каких-то дополнительных инструментов в менеджер не представляется возможным, воспользоваться скриптом: 3.1 для MS SQL: declare @SearchText varchar(500) SET @SearchText = 'activity'; --в кавычках указать слово, которое, возможно, может использоваться в функции exec z_FindSQL @SearchText 3.1 для postgresql: select proname,prosrc from pg_proc where prosrc like '%activity%';

  4. Для проверки скрипта можно через каждый кусок кода запускать "select 1, select 2, select 3"

  5. Бывает такое, что при заполнении какого-то поля на сайте слишком большим количеством информации может возникнуть ошибка. Как вариант причиной может стать переполнение полей MLSTRING. В этом случае стоит выполнить запрос: select ActivityId as Id, datalength(%название столбца, который отвечает за это поле на сайте%) as DoneWorkLen, ,%название столбца, возможно отражающего другую полезную информацию%.GetLangOrDefault('ru') ,* from %название таблицы% where ActivityId = 12345 -- ПОМЕНЯТЬ ДЛЯ ПРОЕКТА order by DoneWorkLen desc

.GetLangOrDefault('ru') - переводит содержимое столба на русский язык

Аватар пользователя Teresa
Teresa 18 февраля 2021
1
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября