- 1
- 2
- 3
CREATE FUNCTION this_function_check_first_payment_under_agreement_without_previous_periods
(
....
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−682
CREATE FUNCTION this_function_check_first_payment_under_agreement_without_previous_periods
(
....
Ну вот сразу всё понятно)
−247
declare @col int
set @col = 0
while (select count(distinct id) from #tovar) > @col
begin
set @col = (select count(distinct id) from #tovar)
insert into #tovar (ParentID, ID, ISFOLDER, Tov) select parentID, ID, ISFOLDER, DESCR from SC23(nolock) where ISMARK = 0 and PARENTID in (select id from #tovar)
end
−160
select
case
when count(*) > 0 then '1'
else '0' end
as "T"
from sometable where searchcode = 'value'
EXISTS? не, не слышал
−160
n IN (6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)
условие n >= 6 выполнено
−84
BEGIN
select count(*) INTO var FROM table_name;
EXCEPTION WHEN OTHERS THEN
var:=0;
END;
Если что-то пойдет не так...
P.S.: count() всегда возвращает какое-либо значение. Ошибке не откуда взяться.
−176
and (ss_1<>'SS0001' or ss_1<>'SS0002' or ss_1<>'SS0010')
Сегодня на продакшене было обнаружено гениальное выражение в одном из запросов.
−160
ALTER TABLE db.table ADD CONSTRAINT cu_contents UNIQUE (contents(128));
ALTER TABLE db.table DROP INDEX cu_contents;
Создал констрейнт, удал индекс. Загадки Майсиквела.
−163
SET DELETED ON
store 0 to r_klot,r_kpot,r_vspot,r_klgv,r_kpgv,r_vspgv,r_klvod,r_kpvod,r_vspvod,r_klngv,r_kpngv,r_vspngv
store 0 to r_klkan,r_kpkan,r_sumkan,r_klmys,r_kpmys,r_summys,r_klmys1,r_kpmys1,r_summys1,r_vspmys,r_vspkan,r_vspmys1
STORE 0 TO r_klmys2,r_kpmys2,r_summys2,r_vspmys2
STORE 0 TO r_klmys3,r_kpmys3,r_summys3,r_vspmys3
STORE 0 TO r_klmys4,r_kpmys4,r_summys4,r_vspmys4
STORE 0 TO r_klmys5,r_kpmys5,r_summys5,r_vspmys5
SELECT 2
USE tarif INDEX tarif SHARED
SELECT 1
use kw SHARED
SET RELATION TO kodtar INTO tarif
go top
do while .not. eof()
if kw.ot=0
r_klot=r_klot+1
r_kpot=r_kpot+kp
r_vspot=r_vspot+vsp
endif
if kw.gv#0 .or. prgvod=0
r_klgv=r_klgv+1
r_kpgv=r_kpgv+kp
r_vspgv=r_vspgv+vsp
endif
if kw.vod#0 .or. prv=0
r_klvod=r_klvod+1
r_kpvod=r_kpvod+kp
r_vspvod=r_vspvod+vsp
endif
IF tarif.tgv#0
r_klngv=r_klngv+1
r_kpngv=r_kpngv+kp
r_vspngv=r_vspngv+vsp
ENDIF
IF kw.kan#0
r_klkan=r_klkan+1
r_kpkan=r_kpkan+kp
r_sumkan=r_sumkan+kan
r_vspkan=r_vspkan+vsp
ENDIF
IF kw.mys#0
r_klmys=r_klmys+1
r_kpmys=r_kpmys+kp
r_summys=r_summys+mys
r_vspmys=r_vspmys+vsp
ENDIF
*газ.плита 2-х комфорочная
IF kw.gpp=1
r_klmys1=r_klmys1+1
r_kpmys1=r_kpmys1+kp
r_summys1=r_summys1+gps
r_vspmys1=r_vspmys1+vsp
ENDIF
*газ.плита 4-х комфорочная
IF kw.gpp=2
r_klmys2=r_klmys2+1
r_kpmys2=r_kpmys2+kp
r_summys2=r_summys2+gps
r_vspmys2=r_vspmys2+vsp
ENDIF
*нагреватель проточный (обычная колонка)
IF kw.gkp=1
r_klmys3=r_klmys3+1
r_kpmys3=r_kpmys3+kp
r_summys3=r_summys3+gks
r_vspmys3=r_vspmys3+vsp
ENDIF
*нагреватель емкостной, газовый (титан)
IF kw.gkp=2
r_klmys4=r_klmys4+1
r_kpmys4=r_kpmys4+kp
r_summys4=r_summys4+gks
r_vspmys4=r_vspmys4+vsp
ENDIF
*водоотведение
IF kw.yb#0
r_klmys5=r_klmys5+1
r_kpmys5=r_kpmys5+kp
r_summys5=r_summys5+yb
r_vspmys5=r_vspmys5+vsp
ENDIF
skip
enddo
REPORT FORM spr1r TO PRINTER prompt PREVIEW
---
set date british
select 2
use sprstr index sprstr SHARED
SET ORDER TO TAG KST OF SPRSTR.CDX
SELE 3
USE TARIF INDEX TARIF SHARED
select 1
use kw index kw1 SHARED
set relation to kst into b,kodtar INTO c
SET FILTER TO ls=r_ls
sdr=DTOC(thisform.text1.Value)
REPORT FORM subsid PREVIEW
Вот такой пиздец мне надо сопровождать и дописывать. Судя по говённости кода, по уёбскому названию переменных, по дико ебланской манере писать код - аффтар из Дульфистов, только у них может получиться настолько уёбский код.
−161
CREATE TABLE [dbo].[Images](
[id] [int] IDENTITY(1,1) NOT NULL,
[category] [int] NOT NULL,
[tag] [nvarchar](16) NOT NULL,
[description] [nvarchar](128) NOT NULL,
[comment] [nvarchar](1024) NULL,
[code01] [nvarchar](max) NULL,
[code02] [nvarchar](max) NULL,
[code03] [nvarchar](max) NULL,
[code04] [nvarchar](max) NULL,
[code05] [nvarchar](max) NULL,
[code06] [nvarchar](max) NULL,
[code07] [nvarchar](max) NULL,
[code08] [nvarchar](max) NULL,
[code09] [nvarchar](max) NULL,
[code10] [nvarchar](max) NULL,
[code] AS (rtrim(((((((((((((((((((((((((((((rtrim(replace(replace(coalesce([code01],''),char((13)),' '),char((10)),' '))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code02],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code03],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code04],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code05],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code06],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code07],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code08],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code09],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10)))+rtrim(replace(replace(coalesce([code10],''),char((13)),' '),char((10)),' ')))+char((13)))+char((10))))
)
10 нормальная форма (_*_)
−164
select top 1000
[ObjectType] = N'Scv',
[SourceCodeId] = d.[IDOBJ],
[ParameterName] = N'DlitZamera',
[DateTime] = l1.[VALUEDATE],
[Value] = l1.[PERIOD],
[vValue] = NULL, [IsLive] = 1
from tm_mn_c8_kust.[dbo].[Lg] as l1
left join tm_mn_c8_kust.[dbo].[Lg] as l2 on (l1.IDOBJ=l2.IDOBJ and l1.ValueDATE<l2.ValueDATE)
inner join tm_mn_c8_kust.[dbo].[TiiDat] as d on d.IDDAT = l1.IDOBJ
where l1.TYPEOBJ=330 and
l1.IDPAR=15 and
l2.ValueDATE is null
Задание:
Выбрать последнее добавленное значение из таблицы и заджойнить данные из другой таблицы
Решение:
Join таблицы с самой собой по условию l1.ValueDATE<l2.ValueDATE и взять только строки, которые не сростились :)
(Строки 9 и 13)