- 1
- 2
if (nvl(pSubject_ID, 0) = 0) then
...
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−855
if (nvl(pSubject_ID, 0) = 0) then
...
Вот так матёрые банковские программеры пишут "is null" на PL/SQL
−46.4
WHILE LEFT(@newstr,1)=' '
BEGIN
SET @newstr=SUBSTRING(@newstr,2,LEN(@newstr))
END
Альтернативная реализация LTRIM
−94
delete id, name, surname, family from persons;
ага, а типа остальные поля не трогать...
−870.1
select x1.g_id,
(select switch(
str='0','новое строительство',
str='1','подготовка территории',
str='2','реконструкция',
str='3','снос' )
from t1
where g_id=x1.p_id
and f_id in(1,71,81)
and id=1),
(select switch(
str='0','административное здание',
str='1','детский сад',
str='2','дорога',
str='3','жилое здание',
str='4','инженерные сети',
str='5','коммуникации',
str='6','поликлиника',
str='7','путепровод',
str='8','ЦТП',
str='9','школа') from t1
where g_id=x1.p_id
and f_id in(1,71,81)
and id=2),
(select 'Субъект '+
(select str from subj
where type1=1
and id1=int(x3.str))+
switch(
x4.str='0',', город ',
x4.str='1',', деревня ',
x4.str='2',', ПГТ ',
x4.str='3',', поселок ',
x4.str='4',', село ')+
(select str from subj
where type1=3
and id1=int(x5.str))+iif(x6.str,
(select ', '+str from subj
where type1=2
and id1=int(x6.str)),'')+iif(x7.str,
(select ', '+str from subj
where type1=5
and id1=int(x7.str)),'')+iif(x8.str,',микр.'+x8.str,'')+iif(x9.str,', квартал '+x9.str,'')+iif(x10.str,', жил.группа '+x10.str,'')+
(select Format(', '+str) from t1
where f_id in(1,71,81)
and id=12
and g_id=x1.p_id)+iif(x11.str,', вл.'+x11.str,'')+iif(x12.str,', д.'+x12.str,'')+iif(x13.str,', кор.'+x13.str,'')+iif(x14.str,', стр.'+x14.str,'')
from t1 as x3,t1 as x4,t1 as x5,t1 as x6,t1 as x7,t1 as x8,t1 as x9,t1 as x10,t1 as x11,t1 as x12,t1 as x13,t1 as x14
where x3.f_id in(1,71,81)
and x3.id=4
and x3.g_id=x1.p_id
and x4.f_id=x3.f_id
and x4.id=7
and x4.g_id=x3.g_id
and x5.f_id=x3.f_id
and x5.id=8 and x5.g_id=x3.g_id
and x6.f_id=x3.f_id
and x6.id=5
and x6.g_id=x3.g_id
and x7.f_id=x3.f_id
and x7.id=6
and x7.g_id=x3.g_id
and x8.f_id=x3.f_id
and x8.id=9
and x8.g_id=x3.g_id
and x9.f_id=x3.f_id
and x9.id=10
and x9.g_id=x3.g_id
and x10.f_id=x3.f_id
and x10.id=11
and x10.g_id=x3.g_id
and x11.f_id=x3.f_id
and x11.id=13
and x11.g_id=x3.g_id
and x12.f_id=x3.f_id
and x12.id=14
and x12.g_id=x3.g_id
and x13.f_id=x3.f_id
and x13.id=15
and x13.g_id=x3.g_id
and x14.f_id=x3.f_id
and x14.id=16
and x14.g_id=x3.g_id),
(select code1 from fkko,t1
where id1=int(t1.str)
and g_id=x1.g_id
and f_id=x1.f_id
Запрос по теме "Помогите ускорить базу".
Взято здесь: http://sql.ru/forum/actualthread.aspx?bid=4&tid=656930
−845
ALTER PROCEDURE [dbo].[SomeProc]
(
@TableName Varchar(500),
@Condition Varchar(1000)
)
--================================================================
-- Stored procedure: SomeProc
-- Description: Returns rows depending on a dynamic condition
--
-- Inputs:
--
-- Returns:
-- Recordset 1: UserID, Name
--
--================================================================
AS
BEGIN
DECLARE @StrQuery varchar(1000)
If charindex('[Tablename]',@tablename) > 0
begin
print 'new'
SET @StrQuery = 'Select * From ' + @TableName + ' Where ' + @Condition
print @tablename
print @condition
print @strquery
end
else
SET @StrQuery = 'Select * From ' + @TableName + ' Where ' + @Condition + ' And [Tablename] = 1'
Exec(@StrQuery)
END
Получили базу, полная таких вот процедур.
−849
t.column :product_id, :integer
t.column :order_id, :integer
t.column :item_id, :string, :limit => 127
t.column :product_id, :integer
t.column :quantity, :integer
t.column :item_description, :string
t.column :unit_price, :decimal
−843
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Vote](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NULL,
[Visible] [bit] NOT NULL CONSTRAINT [DF_Vote_Visible] DEFAULT ((0)),
CONSTRAINT [PK_Vote] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Vote] WITH CHECK ADD CONSTRAINT [FK_Vote_Vote] FOREIGN KEY([Id])
REFERENCES [dbo].[Vote] ([Id])
GO
ALTER TABLE [dbo].[Vote] CHECK CONSTRAINT [FK_Vote_Vote]
Вот прикол таблица с полем одновременно PK и FK вот засада!!!
−850
SELECT
lmd.Name AS DisciplineName,
lmdv.ModDiscipVersionID,
lmn.Name AS ModuleName,
lm.ModuleID
FROM StudyContract sc
INNER JOIN PersonalLesson pl
ON sc.StudyContractID = pl.StudyContractID
INNER JOIN lst_Module lm
ON pl.ModuleID = lm.ModuleID
INNER JOIN lst_ModuleName lmn
ON lm.ModuleNameID = lmn.ModuleNameID
INNER JOIN lst_ModDiscipVersion lmdv
ON lm.ModDiscipVersionID = lmdv.ModDiscipVersionID
INNER JOIN lst_ModDiscip lmd
ON lmdv.ModDiscipID = lmd.ModDiscipID
INNER JOIN Student s
ON sc.StudentID = s.StudentID
INNER JOIN TrainingProduct_Lesson tpl
ON tpl.PersonalLessonID = pl.PersonalLessonID
INNER JOIN TrainingProduct tp
ON tp.TPID = tpl.TPID
WHERE sc.ContractNumber = '050000000000'
AND s.Surname = 'к'
AND
(
tp.TPKindID=1 OR
tp.TPKindID=3 OR
tp.TPKindID=8 OR
tp.TPKindID=12 OR
tp.TPKindID=15 OR
tp.TPKindID=52 OR
tp.TPKindID=58 OR
tp.TPKindID=94 OR
tp.TPKindID=6 OR
tp.TPKindID=39 OR
tp.TPKindID=80 OR
tp.TPKindID=40 OR
tp.TPKindID=74 OR
tp.TPKindID=17 OR
tp.TPKindID=33
)
GROUP BY lmd.Name,lmdv.ModDiscipVersionID,lmn.Name,lm.ModuleID
Говнокодеры Современной Гуманитарной Академии не подозревают о такой вещи как tp.TPKindID IN (1;3;...;33)
−872.4
SELECT `table`.`id`, `table`.`name`, if(LENGTH(`table`.`subj`)>0,NULL,NULL) ...
−160.8
begin -- воркэраунд для дерьмовой идеи хранить ROWID отмеченных записей в таблице XXX
-- так делать нельзя, ROWID вообще нельзя для этого использовать! Какой даун до этого додумался...
-- интересно посмотреть как эта херня работает когда одной формой одновременно пользуются несколько
-- юзеров. Бля слов нет одни эмоции. Один говнопрограммер додумался, теперь остальные должны
-- использовать этот говнокод! Хранить помеченные строки в таблице БД, чтобы потом их использовать
-- в других формах, я в аКуе!! Быбло система бля, быдлониточек и быдловеревочек! Сцуко, добавить к
-- каждой таблице нормальные синтетические первичные ключи, а не эту порнографию религия не позволяет?
-- Сдалать коллекцию, захуячить в нее первичные ключи помеченных строк и передавать ее в качестве параметра
-- нивъебаЦЦа какая охуенна сложная задача... Нет-же, хуярим это унылое говно везде. Хочешь заюзать
-- какую-нибудь функцию для массовой обработки либо хуярь это унылое говницо, либо пиши свою функцию
-- со своими шлюхами и блэкджеком! Сцуки, пойду дальше программить..
select ROWID
into tmp
from YYY
where PKID = :YYY.PKID;
insert into xxx(aaa, bbb)
values (tmp, new_mrk);
end;
Нашел в коде такой коммент :)
Видимо реализация задело кого-то за живое :))