mysql_real_escape_string / Говнокод #5321 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
FUNCTION get_yesterday
      RETURN DATE
   AS
      dd   VARCHAR2 (2);
      mm   VARCHAR2 (2);
      yy   VARCHAR2 (4);
   BEGIN
      SELECT TO_CHAR (SYSDATE - 1, 'yyyy')
        INTO yy
        FROM DUAL;
   END get_yesterday;

Вычисляем вчерашнюю дату на PL/SQL

Запостил: mshogin mshogin, (Updated )

Комментарии (24) RSS

  • Yesterday, all my troubles seemed so far away
    Now it looks as though they're here to stay
    Oh I believe in yesterday
    Ответить
    • SYSDATE-1 - это и есть вчера. Вообще, по-моему, FUNCTION без RETURN даже не скомпилируется, не говоря о других нестыковках, так что подозреваю обман!
      Ответить
      • Все прекрасно компилируется.

        function blaaa return varchar2
        as
        begin
        null;
        end;


        также будет компилироваться
        Ответить
    • Решил все-таки проверить.

      Скомпилировалась, но при каждом вызове ошибка:
      PL/SQL: Function returned without value
      * Cause: A call to PL/SQL function completed, but no RETURN statement was executed.
      * Action: Rewrite PL/SQL function, making sure that it always returns a value of a proper type.

      Нерабочий код не является говнокодом!

      Есть и другие нестыковки:
      1) несовпадение типа возвращаемого результата (DATE) с типом единственного значения, возвращаемого запросом (TO_CHAR, очевидно, конвертирует в VARCHAR2);
      2) несовпадение названия функции и ее тела, где получается год вчерашней даты;
      3) наличие лишних локальных переменных.

      Все это наводить на мысль о фейке - въе*ал постеру по минусу.
      Ответить
      • может это вершина айсберга
        а где-то внизу yy конвертят в дату и делают return
        Ответить
      • 1 - ))))
        - return делать необязательно для компиляции пакета
        - в PL/SQL есть механизм приведения типов, так что несовпадение типов varchar2 и date не приводит к ошибке компиляции
        - в данном случае говорить о не совпадении типов вообще не имеет смысла, т.к. нет return

        2) это вы как так определили ? ))
        спецификация пакета полностью совпадет имплементации, в противном случае пакет бы не скомпилировался

        3) да, мы долго смеялись когда ее нашли

        предположения относительно этой фукции таковы, что ее ни разу ни кто не вызвал.
        Наше недоумение насчет нее было вызвано тем фактом, что вчерашнюю дату можно вычислить просто вызвав SYSDATE -1

        Понятия не имею для чего тут минусы и плюсы, так что как вашей душе угодно - минусуйте на здоровье )))
        Ответить
        • Плохо написал, согласен.

          Про компилирование уже поправился выше.
          1) Я имел в виду, что раз уж пишешь функцию, то приведи все данные к нужным типам.
          2) Имел в виду, что возвращает не yesterday, а - после приведения типов - первое января года вчерашней даты (для 01.01.2011 вернет 01.01.2010).

          В общем, слишком упоротый разработчик получается!
          А про минусы - это локальный мем, для красного словца 🙂
          Ответить
  • <a href=http://achetercialissansordonnanceenpharmacie.c om/>ou acheter cialis sans ordonnance </a>
    <a href=" http://achetercialissansordonnanceenpharmacie.c om/ ">acheter cialis sans ordonnance a paris </a>
    Ответить
  • <a href=http://achatcialisenfrancelivraisonrapide.com>a cheter cialis 5mg en ligne en france </a>
    <a href=" http://achatcialisenfrancelivraisonrapide.com ">acheter cialis generique en france </a>
    Ответить
  • <a href=http://achetercialis20mgenligne.com/>achat cialis 20mg en ligne </a>
    <a href=" http://achetercialis20mgenligne.com/ ">acheter cialis 20mg original </a>
    Ответить
  • <a href=http://achatcialis5mgenligne.com/>achat cialis 5mg en france </a>
    <a href=" http://achatcialis5mgenligne.com/ ">achat cialis 5mg </a>
    Ответить
  • <a href=http://tadalafil20mgpaschereninde.com/>cialis tadalafil 20mg pas cher </a>
    <a href=" http://tadalafil20mgpaschereninde.com/ ">tadalafil 20mg pas cher en inde </a>
    Ответить
  • <a href=http://achetertadalafil20mgpascher.com/>acheter cialis 20mg en pharmacie </a>
    <a href=" http://achetertadalafil20mgpascher.com/ ">acheter cialis 20mg </a>
    Ответить
  • <a href=http://achattadalafilenfranceenpharmacie.com/>achat cialis en france </a>
    <a href=" http://achattadalafilenfranceenpharmacie.com/ ">achat tadalafil en france en pharmacie </a>
    Ответить
  • <a href=http://acheterprednisone20mgenligne.com/>acheter prednisone 20 mg en ligne </a>
    <a href=" http://acheterprednisone20mgenligne.com/ ">acheter prednisone en ligne </a>
    Ответить
  • <a href=http://achatpropeciaparcartebancaire.com/>achat propecia partnership </a>
    <a href=" http://achatpropeciaparcartebancaire.com/ ">achat propecia par carte bancaire </a>
    Ответить
  • <a href=http://achatamoxicillinebiogaran1g.com/>amoxicilline achat en ligne </a>
    <a href=" http://achatamoxicillinebiogaran1g.com/ ">achat amoxicilline 1g </a>
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8