И Эмилио (llemilio) wrote,
И Эмилио
llemilio

  • Music:

№286 – Повезло

Написал только что функцию для SQL Server с огромным запросом со сложной логикой связей внутри нее

CREATE FUNCTION [dbo].[fn_get_partner_history]
   (@partner_rf as int, @dbegin as datetime, @dend as datetime)
RETURNS table
AS
RETURN (
SELECT DISTINCT
   TOP 100 PERCENT dbo.book.[index], dbo.book.[date], dbo.operations.name AS operation_name,
   dbo.purposes.[value] AS purpose_name,
   dbo.library.[value] AS contractor_1_name, library_1.[value] AS contractor_2_name,
   dbo.book.sum_2, dbo.book.d1 * dbo.fn_is_parent(@partner_rf,
   dbo.library.[index]) AS EXPR1, dbo.book.d2 * dbo.fn_is_parent(@partner_rf,
   library_1.[index]) AS EXPR2, dbo.book.note, dbo.book.information
FROM dbo.book INNER JOIN
   dbo.operations ON dbo.book.operation_rf = dbo.operations.[index] INNER JOIN
   dbo.library ON dbo.book.contractor_1_rf = dbo.library.rf INNER JOIN
   dbo.library library_1 ON dbo.book.contractor_2_rf = library_1.rf INNER JOIN
   dbo.fn_get_extra_library_structure() fn_get_extra_library_structure
   ON dbo.library.[index] = fn_get_extra_library_structure.child INNER JOIN
   dbo.fn_get_extra_library_structure() fn_get_extra_library_structure_1
   ON library_1.[index] = fn_get_extra_library_structure_1.child INNER JOIN
   dbo.purposes ON dbo.book.purpose_rf = dbo.purposes.[index]
WHERE
   (fn_get_extra_library_structure_1.parent = @partner_rf)
   AND (fn_get_extra_library_structure.parent = 3) AND (dbo.book.expired = 0)
   AND (dbo.book.[date] >= @dbegin) AND (dbo.book.[date] < @dend + 1)
   OR
   (fn_get_extra_library_structure_1.parent = 3)
   AND (fn_get_extra_library_structure.parent = @partner_rf) AND (dbo.book.expired = 0)
   AND (dbo.book.[date] >= @dbegin) AND (dbo.book.[date] < @dend + 1)
ORDER BY dbo.book.[index]

Постоянно думал сохранить промежуточные результаты и не сделал этого.
И что вы думаете? - Через Секунду после того как я сохранил релиз функции на сервер, Enterprise Manager выдал Exception и вылетел нафиг.

Одним словом повезло.
Subscribe

  • №621 — Заполоним улицы добротой

    Хочу научиться зеркально трансформировать свои чувства и действия: из гнева в радость, из ненависти в любовь, из хитрости в искренность, из заумности…

  • №620 — 33

    Прямо как положено, в этом году жизни, на меня снизошло такое количество откровений, как никогда раньше. Есть несколько поражающих своей…

  • №619 — Не хватает опыта

    Решил что-нибудь написать сюда чтобы отодвинуть чутка предыдущую запись с голой задницей. А то как-то некультурно получается: незнакомый человек…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments