1. SQL / Говнокод #8364

    −118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    DROP PROCEDURE IF EXISTS postgkh.ACCOUNT_ITM $$
    CREATE PROCEDURE postgkh.ACCOUNT_ITM(IN PERIOD DATE, IN ACC_ID INT)
    BEGIN
        SELECT A.ACCOUNT_ID, A.ACCOUNT_NO
    # Смачный кусок кода
          (SELECT GROUP_CONCAT(document_no ORDER BY document_no SEPARATOR ', ') DOCUMENT_NO
                FROM
                     (SELECT d.document_no document_no
                        FROM postgkh.docar dr INNER JOIN
                             postgkh.document d ON dr.document_id = d.document_id
                        WHERE dr.account_id = ACC_ID
                              AND d.document_fromdate <= LAST_DAY(PERIOD)
                              AND (d.DOCUMENT_CLOSEDATE >= PERIOD OR d.DOCUMENT_CLOSEDATE IS NULL)
                      ) d
             ) DOCUMENT_NO
        FROM postgkh.ACCOUNT
        WHERE A.ACCOUNT_ID = ACC_ID
        GROUP BY A.ACCOUNT_ID
        LIMIT 1;
    END $$

    MySQL

    dmezentsev, 31 Октября 2011

    Комментарии (3)
  2. SQL / Говнокод #8351

    −106

    1. 1
    Вчера узнал, что 30 лет назад меня родила мама только для того, чтобы получить квартиру.

    "Поясните" - Вы?

    alexoy, 29 Октября 2011

    Комментарии (0)
  3. SQL / Говнокод #8343

    −141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    CREATE MATERIALIZED VIEW LEASE_NODES_SUMMARY_SDS
    ...
    AS
    SELECT
    ...
    FROM lease_nodes_sds;
    DECLARE
      v_count NUMBER:=0;
    BEGIN
      LOOP
      SELECT COUNT(1) INTO v_count FROM lease_nodes_summary_sds;
      EXIT WHEN v_count>0;
      END LOOP;
    END;

    Торопиться некуда. Будем ждать пока появятся строки в lease_nodes_sds...

    slbsomeone, 28 Октября 2011

    Комментарии (16)
  4. SQL / Говнокод #8316

    −110

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    -- Create table
    create global temporary table REPLDATALOBS
    (
      dummy       VARCHAR2(1),
      table_name  VARCHAR2(30) not null,
      column_name VARCHAR2(30) not null,
      row_id      VARCHAR2(4000) not null,
      position    NUMBER not null,
      data        VARCHAR2(4000)
    )
    on commit delete rows;
    -- Create/Recreate primary, unique and foreign key constraints 
    alter table REPLDATALOBS
      add constraint C_REPLDATALOBS_PK primary key (ROW_ID, TABLE_NAME, COLUMN_NAME, POSITION);
    -- Grant/Revoke object privileges 
    grant select, insert, update, delete, references, alter, index on REPLDATALOBS to PUBLIC;

    Продакшн Oracle10g, PK из 4х элементов, а один из 4000 символов Т_Т блжад, что за жизнь ..........

    d4rw1n1s7, 27 Октября 2011

    Комментарии (4)
  5. SQL / Говнокод #8215

    −115

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    SELECT product.entity_id as pid, 
           vTitle.value as title, vLength.value as length, vWidth.value as width, vHeight.value as height, vWeight.value as weight, vCapacity.value as capacity, vImg.value as img,
           tShort.value as short, tText.value as text,
           dPrice.value as price,
           cParent.category_id as parent
    FROM catalog_product_entity as product
    LEFT JOIN catalog_product_entity_varchar as vTitle ON vTitle.entity_id=product.entity_id AND vTitle.attribute_id=60
    LEFT JOIN catalog_product_entity_varchar as vLength ON vLength.entity_id=product.entity_id AND vLength.attribute_id=122
    LEFT JOIN catalog_product_entity_varchar as vWidth ON vWidth.entity_id=product.entity_id AND vWidth.attribute_id=123
    LEFT JOIN catalog_product_entity_varchar as vHeight ON vHeight.entity_id=product.entity_id AND vHeight.attribute_id=124
    LEFT JOIN catalog_product_entity_varchar as vWeight ON vWeight.entity_id=product.entity_id AND vWeight.attribute_id=69
    LEFT JOIN catalog_product_entity_varchar as vCapacity ON vCapacity.entity_id=product.entity_id AND vCapacity.attribute_id=125
    LEFT JOIN catalog_product_entity_varchar as vImg ON vImg.entity_id=product.entity_id AND vImg.attribute_id=74
    LEFT JOIN catalog_product_entity_text as tShort ON tShort.entity_id=product.entity_id AND tShort.attribute_id=62
    LEFT JOIN catalog_product_entity_text as tText ON tText.entity_id=product.entity_id AND tText.attribute_id=61
    LEFT JOIN catalog_product_entity_decimal as dPrice ON dPrice.entity_id=product.entity_id AND dPrice.attribute_id=64
    LEFT JOIN (SELECT c.category_id, c.product_id FROM catalog_category_product as c ORDER BY c.category_id DESC) as cParent ON cParent.product_id=product.entity_id
    GROUP BY cParent.product_id ORDER BY cParent.product_id

    Мой говнокод-неговнокод по экспорту товара из Magento в нашу CMS

    Android991, 17 Октября 2011

    Комментарии (5)
  6. SQL / Говнокод #8194

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...
          IF  i.TYPE IS NOT NULL  AND i.TYPE IS NOT NULL  THEN
           INSERT INTO R_ACTIVITY_PARAMETER( ACTIVE_FLAG,PROPERTY,PARAMETER_DOMAIN,SOURCE,DESCRIPTION,CODE)
             VALUES('1',i.TYPE,i.R_ACTIVITY_1_INS_180,i.SOURCE_TYPE,i.DESCRIPTION,i.TYPE);
    ...

    Oracle 10.2
    Может быть это какой-то "нездоровый" кодогенератор...

    slbsomeone, 14 Октября 2011

    Комментарии (10)
  7. SQL / Говнокод #8193

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    UPDATE ... 
    SET ...
    WHERE ...
         AND NVL(fndr_constraint,'ABC')=NVL('','ABC')
    ...

    Oracle 10.2 продакшн код.
    Это прям какое-то нездоровое влечение к NVL...

    slbsomeone, 14 Октября 2011

    Комментарии (5)
  8. SQL / Говнокод #8185

    −109

    1. 1
    SELECT 1 INTO iResult FROM dual;

    Oracle. Присвоение переменной iResult значения 1.

    chaoswithin, 13 Октября 2011

    Комментарии (7)
  9. SQL / Говнокод #8174

    −147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    SELECT FIRST ((SELECT COUNT(*)/2 + MOD(COUNT(*),2) 
                   FROM REFSTATUS r3)) r.STATUSID, r.STATUSNAME, r2.STATUSID, r2.STATUSNAME
    FROM REFSTATUS r 
    LEFT JOIN REFSTATUS r2 ON r2.STATUSID = (SELECT FIRST 1 SKIP ((SELECT COUNT(*)/2 + MOD(COUNT(*),2)
                                                                    FROM REFSTATUS r4) +
                                                                   (SELECT COUNT(1)
                                                                    FROM REFSTATUS r5 
                                                                    WHERE r5.STATUSID < r.STATUSID)) r1.STATUSID 
                                              FROM REFSTATUS r1
                                              ORDER BY 1)
    ORDER BY 1

    Абсолютно бессмысленный SQL-запрос, который выводит содержимое двух полей таблицы REFSTATUS в две колонки пополам (Используется SQL-Firebird)

    selinta, 12 Октября 2011

    Комментарии (5)
  10. SQL / Говнокод #8161

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...
          IF  i.R_LITHOLOG_1_UPD_173 IS NOT NULL  AND i.R_LITHOLOG_1_INS_69 IS NOT NULL  THEN
           INSERT INTO R_LITHOLOGY( SOURCE,DESCRIPTION,CODE,NAME,ACTIVE_FLAG)
             VALUES(i.SOURCE,i.DESCRIPTION,i.R_LITHOLOG_1_UPD_173,i.CODE,NVL(i.R_LITHOLOG_1_INS_69,'1'));
    ...

    Вдруг i.R_LITHOLOG_1_INS_69 IS NULL ?
    Но почему тогда к i.R_LITHOLOG_1_UPD_173 такое доверие?

    slbsomeone, 11 Октября 2011

    Комментарии (3)