Форум: "Базы";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
ВнизА есть ли станодарт оформления кода на SQL? Найти похожие ветки
← →
Kolan © (2006-10-05 14:01) [0]Здравствуйте,
На Delphi есть(Идентификаторы в CamelCase, отступы итд). А для Sql?
← →
Johnmen © (2006-10-05 14:10) [1]Думается, что нет. Да и в Delphi это не стандарт, а рекомендации...
← →
Kolan © (2006-10-05 14:48) [2]
> Johnmen © (05.10.06 14:10) [1]
>
> Думается, что нет. Да и в Delphi это не стандарт, а рекомендации.
> ..
За не соблюдение рекомендаций в Delphi, как, например, тут:
http://delphimaster.net/view/2-1159981434/
я бы убил :)
Вот я и хочу правильно писать, чтобы потом меня не убили:)
Вот есть допустим запрос:SELECT DeviceID
FROM Devices
WHERE DeviceID IN
(SELECT DeviceID FROM Measurments Where Data="C=20");
1. Пишутся ли зарезервированные слова большими буквами?
2. Как правильно переносить на др скроку? Те в Delphi же не пишутfor I := 1 to 10 do begin X:= X+ I end;
, а пишутfor I := 1 to 10 do
begin
X:= X+ I
end;
Видимо и в SQL должны быть места переноса. Какие?
← →
Sergey13 © (2006-10-05 15:01) [3]> Видимо и в SQL должны быть места переноса. Какие?
Правый край экрана. 8-)
← →
Reindeer Moss Eater © (2006-10-05 15:07) [4]Для некоторых серверов при использовании некоторых библиотек доступа при наприсании некоторых запросов имеет значение регистр.
Есть и другие приколы.
← →
Johnmen © (2006-10-05 15:09) [5]
> Kolan © (05.10.06 14:48) [2]
> За не соблюдение рекомендаций в Delphi, как, например, тут:http:
> //delphimaster.net/view/2-1159981434/я
> бы убил :)Вот я и хочу правильно писать, чтобы потом меня
> не убили:)
Да кто тебя тронет??? Кетмар? Игорь Шевченко? Борланд?
Не переживай! У них руки коротки!
А за SQL вообще никакого авторитета, типа Борланда за Дельфи, не стоИт...
Так что и рекомендовать могут лишь производители SQL серверов. А их много. И у каждого своё чувство прекрасного...:)
← →
dr Gonzo © (2006-10-05 15:22) [6]У каждой СУБД свое. Как пример MSSQL :
http://www.sql.ru/articles/mssql/2004/04081802DatabaseNamingConvention.shtml
http://www.sql.ru/articles/mssql/2004/04081801SQLServerDatabaseCodingConventions.shtml
Плюс смотри системный процедуры. Обычно в прозападных конторах есть свои правила оформления. Лично мое мнение лучше поля нормально называть и ХП, это гораздо сильнее облегчает жизнь в больших проектах.
← →
ANB © (2006-10-05 15:29) [7]Тоад и девелопер сами умеют форматировать. И у них много настроек :)
← →
Kolan © (2006-10-05 16:30) [8]
> Да кто тебя тронет??? Кетмар? Игорь Шевченко? Борланд?
Да я сам в первых рядах за красивое оформление :)
> dr Gonzo © (05.10.06 15:22) [6]
О это и возьму за основу :)
Благодарю.
← →
PEAKTOP © (2006-10-05 16:33) [9]Как-то давно, когда я еще работал рядовым программером в одной конторке и писал отчеты на InterBase procedures, стал форматировать исходники процедур. Не по каким-то правилам, так просто по свему уразумению, a-la код Delphi. А потом, че-то срочно надо было поправить и в мои исходники полез шеф. После того, как увидел мои исходники, сказал, что на "въезжание в тему" у него ушло 5 минут, а не 30 как обычно и правила форматирования стали на конторе стандартом.
Щас вот сам уже "типа шеф" и за нарушение правил форматирования -1% от заработка за каждый случай. Постонали конечно, но в итоге это съекономило уйму времени при доработке, отшлифовке и т.д.
← →
КотКамышовый © (2006-10-05 17:03) [10]Ну мне такой стиль нравится
таблицы рабочие: t_tablename или t_TableName
таблицы справочные d_tablename
хранимки sp_SPName
функции fn_FName
переменные @SomeVar
айдишки всякие Object_ID
← →
Bless © (2006-10-05 17:22) [11]
> КотКамышовый © (05.10.06 17:03) [10]
>
> хранимки sp_SPName
Для MS SQL Server-а хранимки так называть не рекомендуется
← →
Bless © (2006-10-05 17:27) [12]
It is strongly recommended that you do not create any stored procedures using sp_ as a prefix. SQL Server always looks for a stored procedure beginning with sp_ in this order:
The stored procedure in the master database.
The stored procedure based on any qualifiers provided (database name or owner).
The stored procedure using dbo as the owner, if one is not specified.
Therefore, although the user-created stored procedure prefixed with sp_ may exist in the current database, the master database is always checked first, even if the stored procedure is qualified with the database name.
← →
Desdechado © (2006-10-06 11:18) [13]Прилизительно так оформляю я:
CREATE OR REPLACE PROCEDURE PR_SAY_FULOBJNAME2(
nObj IN PLS_INTEGER,
lTypeBig IN VARCHAR2,
lType IN VARCHAR2,
cObjBig OUT VARCHAR2,
cObjSmall OUT VARCHAR2,
lHasPorts OUT VARCHAR2 )
AS
nOwner PLS_INTEGER;
nParent PLS_INTEGER;
cStr1 VARCHAR2( 200 );
cStr2 VARCHAR2( 30 );
lParentHasPorts CHAR( 1 );
BEGIN
-- главные характеристики объекта
BEGIN
SELECT N.obj_name, N.owner_id, N.parent_id,
LocalText(C.class_aka), T.type_name, C.f_formscontname
INTO cObjSmall, nOwner, nParent, cStr1, cStr2, lHasPorts
FROM ObjNames N, ClassTypes T, Classes C
WHERE N.obj_id = nObj AND N.type_id = T.type_id AND T.class_id = C.class_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
cObjBig := " ";
cObjSmall := " ";
lHasPorts := "F";
RETURN;
END;
-- для не "портообразующего" объекта - короткое имя класса
IF( lHasPorts = "F" ) THEN
cObjSmall := cStr1 || " " || cObjSmall;
END IF;
-- чужой владелец
IF( nOwner > 1 ) THEN
SELECT owner_name
INTO cStr1
FROM Owners
WHERE owner_id = nOwner;
cObjSmall := cObjSmall || "(" || cStr1 || ")";
END IF;
-- марка только для не "портообразующего" объекта
IF( ( lType = "T" ) AND ( lHasPorts = "F" ) ) THEN
cObjSmall := cObjSmall || "(" || cStr2 || ")";
END IF;
-- при вложении объекта в другой его тоже расшифровать
IF( NOT( nParent = 1 OR nParent = nObj ) ) THEN
pr_SAY_FulObjName2( nParent, lTypeBig, lTypeBig, cStr1, cObjBig, lParentHasPorts );
IF( lParentHasPorts = "T" ) THEN
lHasPorts := "T"; -- все вложенные станут "портообразующими"
END IF;
IF( cStr1 <> " " ) THEN
IF( lParentHasPorts = "T" ) THEN
cObjSmall := cObjBig || "-" || cObjSmall;
cObjBig := cStr1;
ELSE
cObjBig := cStr1 || " " || cObjBig;
END IF;
END IF;
ELSE
cObjBig := " ";
END IF;
END PR_SAY_FULOBJNAME2;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.042 c