SQL shall die
Aug. 29th, 2007 06:06 pmКак же мне надоел этот гребаный язык SQL, используемый в SQL Server 2000, да и вообще!
Необходимость после каждого стейтмента вставлять проверку на появление ошибки - это нормально?!
INSERT INTO MyTable ( A, B ) VALUES ( 1, 2 )
IF @@ERROR != 0
BEGIN
ROLLBACK
RAISERROR( N'Failed!', 18, 1 )
RETURN 1
END
EXEC @SPResult = MySP MyParam1, MyParam2
IF @@ERROR != 0 OR @SPResult != 0
BEGIN
ROLLBACK
RAISERROR( N'Failed!', 18, 1 )
RETURN 2
END
А не вставишь проверку - код будет выполняться дальше, не смотря ни на что! Супер-изобретение, блядь! А в результате - на каждую строчку полезного кода еще шесть "на всякий случай".
Причем это ведь далеко не единственная проблема, есть и другие.
Однако, отбросив в сторону негативные эмоции и слова, могу сказать вкратце следующее: альтернативы есть! И больше всех мне нравится Tutorial D, в частности, в реализации D4. Вы только сравните D4 с SQL, шаг за шагом! Потратьте 15 минут и восхититесь святой простотой и логичностью!
Мне хочется верить, что со временем SQL умрет...
Необходимость после каждого стейтмента вставлять проверку на появление ошибки - это нормально?!
INSERT INTO MyTable ( A, B ) VALUES ( 1, 2 )
IF @@ERROR != 0
BEGIN
ROLLBACK
RAISERROR( N'Failed!', 18, 1 )
RETURN 1
END
EXEC @SPResult = MySP MyParam1, MyParam2
IF @@ERROR != 0 OR @SPResult != 0
BEGIN
ROLLBACK
RAISERROR( N'Failed!', 18, 1 )
RETURN 2
END
А не вставишь проверку - код будет выполняться дальше, не смотря ни на что! Супер-изобретение, блядь! А в результате - на каждую строчку полезного кода еще шесть "на всякий случай".
Причем это ведь далеко не единственная проблема, есть и другие.
Однако, отбросив в сторону негативные эмоции и слова, могу сказать вкратце следующее: альтернативы есть! И больше всех мне нравится Tutorial D, в частности, в реализации D4. Вы только сравните D4 с SQL, шаг за шагом! Потратьте 15 минут и восхититесь святой простотой и логичностью!
Мне хочется верить, что со временем SQL умрет...