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

    +3

    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
    SELECT e1.equip_id, e1.equip_name
    FROM ((SELECT equipment.equip_id, equipment.equip_name
          FROM (((equipment INNER JOIN
               equip_for_eq_deliv ON equipment.equip_id = equip_for_eq_deliv.efs_equip_id) INNER JOIN
               eq_deliv ON equip_for_eq_deliv.efs_eq_deliv_id = eq_deliv.eq_deliv_id) INNER JOIN
               students ON eq_deliv.eq_deliv_stud_id = students.stud_id)
          WHERE (eq_deliv.eq_deliv_operation = 0) AND (students.stud_id = 1)) e1 INNER JOIN
         (SELECT equipment_1.equip_id, equipment_1.equip_name
          FROM (((equipment equipment_1 INNER JOIN
               equip_for_eq_deliv equip_for_eq_deliv_1 ON equipment_1.equip_id = equip_for_eq_deliv_1.efs_equip_id) INNER JOIN
               eq_deliv eq_deliv_1 ON equip_for_eq_deliv_1.efs_eq_deliv_id = eq_deliv_1.eq_deliv_id) INNER JOIN
               students students_1 ON eq_deliv_1.eq_deliv_stud_id = students_1.stud_id)
         WHERE (eq_deliv_1.eq_deliv_operation = 1) AND (students_1.stud_id = 1)) e2 
    WHERE (e1.equip_id = e2.equip_id)

    хорошо что это всего лишь курсач(на тему автоматизация процеса выдачи оборудования студентам на лабы)
    суть сего бреда такова: в таблице выдача оборудования есть поле операция (eq_deliv_operation) которое принимает значения:
    0 - выдача оборудования ситуденту
    1 - возвращение оборудования студентом.

    собсно тут выберается оборудование которе студент еще не сдал обратно..
    вот такая вот говняшка.. вобщем очень и очень, говняный из меня проектировщик бд. пойду я лучше верстать веб страницы

    lowercase, 14 Мая 2012

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

    +1

    1. 1
    SELECT * FROM getnewidlin INTO :curlin_id;

    getnewidlin - хранимая процедура, которая ПОКА ЧТО возвращает один параметр, так что такая шляпа у автора прокатила

    gorky, 23 Марта 2012

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

    +1

    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
    21. 21
    22. 22
    create or replace
    FUNCTION NumberTrue(VAL in varchar2)
       RETURN BOOLEAN IS
          Result varchar2(100);
          i      integer;
          c      char(1);
         V_ReturnValue BOOLEAN;
       BEGIN
          Result:='';
          if not (VAL is NULL) then
             for i in 0..length(VAL) loop
                c:=substr(VAL,i,1);
                if (c>='0') and (c<='9') then V_ReturnValue :=TRUE;  
                 else
                 V_ReturnValue :=FALSE;  
                 GOTO end1;
                 end if;
             end loop;
          end if;
     <<end1>>
          return V_ReturnValue;
       END;

    Проверка числа на валидность в Oracle

    nik_lazer, 20 Марта 2012

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

    −5

    1. 1
    2. 2
    if isnull(@ProfileID, 0) <> 0
    ...

    bullshit

    fr0mrus, 16 Марта 2012

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

    +18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    select 20.0 / -2.0 / 5.0 * 3.0
    -16.666666
    
    select 20.0 / (-2.0) / 5.0 * 3.0
    -6.00000

    SQL-Server как калькулятор

    wecanstoptrain, 16 Марта 2012

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

    +2

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    function encode(p_string VARCHAR2) RETURN VARCHAR2 DETERMINISTIC AS
       begin
         RETURN REPLACE(
                  REPLACE(
                    REPLACE(
                      REPLACE(
                        REPLACE(
                          utl_encode.text_encode(p_string, NULL, utl_encode.base64),
                          '+', '_p'),
                        '/', '_s'),
                      '=', '_e'),
                    CHR(10)),
                  CHR(13));
       end encode;
    
       function decode(p_string VARCHAR2) RETURN VARCHAR2 DETERMINISTIC AS
       begin
         RETURN utl_encode.text_decode(
                  REPLACE(
                    REPLACE(
                      REPLACE(p_string, '_p', '+'),
                      '_s', '/'),
                    '_e', '='),
                  NULL, utl_encode.base64);
       end decode;

    Убираем и возвращаем нецифробуквенные символы из/в BASE64

    wecanstoptrain, 15 Марта 2012

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    CREATE TABLE [dv].[FAK_Beholdning](
          [Fak_Beholdning_Id] [int] IDENTITY(1,1) NOT NULL,
          /* list of 200 columns */
    ) ON [PRIMARY]
    
    SET ANSI_PADDING OFF
    ALTER TABLE [dv].[FAK_Beholdning] ADD [SRC_Produkt_Kontotypekode_kde] [varchar](20) NULL
    ALTER TABLE [dv].[FAK_Beholdning] ADD [SRC_Kilde_kde] [varchar](20) NULL
    SET ANSI_PADDING ON
    
    ALTER TABLE [dv].[FAK_Beholdning] ADD [SRC_Avtaletypekode_Undergruppe_kde] [varchar](20) NULL
    /* list of 20 columns */

    T-SQL.
    Скандинавские коллеги не перестают радовать.
    Кто должен делать для данных RTRIM? Конечно же БД!
    ЗЫЖ http://msdn.microsoft.com/ru-ru/library/ms187403(v=sql.90).aspx

    DBdev, 13 Марта 2012

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

    +1

    1. 1
    SELECT `id`,`title`,`text`,`pubTime`, `visible`, `cat` , (SELECT `name` FROM `news_cat` WHERE news_cat.id=news.cat) AS `category` FROM `news`

    DarkThinker, 12 Марта 2012

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

    +2

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    -- Data Blocks
    -- TYPE: TRIGGER
    -- OBJECT: BUTTONS
    -- NAME: WHEN-RADIO-CHANGED
    
    DECLARE
    
         BEGIN
           IF    :buttons.instalments = 'I' THEN 
                 create_instalments;       -- Payment by instalment selected
           ELSIF :buttons.instalments = 'F' THEN 
                 check_instalments;        -- Full payment selected                      
           END IF;
    
        END;
    
    -- Meanwhile in Program Units
    
    PROCEDURE create_instalments IS
    
    BEGIN
         INSTALMENT_PLAN_PKG.CREATE_CLIENT_PLAN(
           :header.astpd_client_group_id, -- p_client_id                       
           :header.revenue_type_id,       -- p_revenue_type
           :header.assessment_year,                       -- p_assessment_year );
    END;
    
    -- Meanwhile in Packages (Hello Oracle)
    PROCEDURE CREATE_CLIENT_PLAN( /*some parameters here*/) IS
        /*some variable and cursor declarations here*/
    BEGIN
           FOR r_plan IN c_plan
            LOOP
                FOR r_plan_options IN c_plan_option(r_plan.plan_id)
                LOOP
                   INSERT INTO CLIENT_PLAN ( /* fields here */)
                             VALUES (/* stuff here */);
    
                   create_client_plan_instalments(/* parameters here and YES there IS another FOR-LOOP-INSERT in proc body*/);
    
                END LOOP; --End of r_plan loop
            END LOOP;  -- End r_plan_options loop
    END;

    MVC? Не, не слышал.

    ezg, 01 Марта 2012

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    SELECT keywords_ru AS keywords, title_ru AS title, description_ru AS description
    FROM alo_seo
    WHERE
    	( 1 AND city_id="348" AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="peryferija" LIMIT 1) ) OR
    	( 1 AND city_id="348" AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="komp-yuterna-tehnika" LIMIT 1) ) OR
    	( 1 AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="peryferija" LIMIT 1) ) OR
    	( 1 AND cat_id=(SELECT id FROM alo_categories WHERE 1 AND path="komp-yuterna-tehnika" LIMIT 1) )
    LIMIT 1;

    andnix, 24 Февраля 2012

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