powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PL/sql и T/sql
25 сообщений из 134, страница 5 из 6
PL/sql и T/sql
    #33766439
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_tmА все просто, чтобы именовать таблицу и /или колонку "русским именем" её нужно заключить в '', чтобы обратиться к ней, надо проделать тоже самое...
Не нужно ее заключать в кавычки. Это добавит к глюкам русских букв еще и глюки неправильного регистра символов.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766445
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_tmВообще-то для того, чтобы определить кто куда ссылается, существует словать данных...
То есть Вы предпочитаете получить исключение вида "constraint SYS_012345 violated" и отправиться в словарь данных смотреть, что это за constraint?

Нет, спасибо. Лично мне "constraint FK_TABLE1_TABLE2" куда как удобнее. Время, знаете ли, стоит денег.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766448
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Apex
Я за такое вот кастрировал бы, чтоб дебилов меньше рождалось.
А я бы например кастрировал тех дибилов, которые английский ниасилили, но и по русски писать им религия не позволяет. В итоге пишут транслитом, да еще и с использованием абревиатур :). Получается скотоложество типа ScrPrDrID. Куй его знает что это такое, зато раскладку переключать не надо, и все типа крутые :).

Вы когда-нибудь видели базы данных, в которых ВСЕ названия объектов написаны по русски и практически без сокращений???
Вы, судя по всему, даже не представляете, как в таком случае упрощается разработка и сопровождение системы...
Соболезную
Не видел и видеть не хочу.
Давайте обсуждать вкус устриц с теми, кто их ел.

Сопровождение облегчает грамотная декомпозиция системы, четкая модульная реализация, грамотно написаный код. А не название объектов в кириллической кодировке.
Одно другому не мешает.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766457
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
SourceSafe я выкинул очень давно. ErWin-ом пришлось пользоваться подольше, и поэтому наблюдал его кривую работу с русскими буквами, причем вообще без всякой БД - только внутри себя, на уровне записал модель в файл - прочитал модель из файла. Точную версию не помню; если не ошибаюсь, major version - 4, build 381.
ты с кем разговариваешь думаешь лох лабающий на access разрабатывает модель бд в erwin или отслеживает код !?

ЗЫ. я представляю что обо мне подумаеют если я в оракловый супорт зашлю типа http://www.sql.ru/forum/actualthread.aspx?tid=184634&hl=%ec%e0%f2%fc+%f1%e8%ed%f2%e0%ea%f1%e8%f1#1548494этого
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766459
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongsvanoАга. Классная перегрузка. Только такое перегрузить не может почемуто:
Передергиваете. В приведенном Вами примере вообще нет перегрузки.

Почему не видится верхняя функция?
Видится. В своей области видимости. Хотя если не знать концепций... Попробуйте

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
-- Почему видится верхняя функция?
<<L12345>>
DECLARE
	FUNCTION GetUName(a IN VARCHAR2, b IN VARCHAR2, c IN VARCHAR2) RETURN VARCHAR2 AS
	BEGIN
		RETURN a||b||c;
	END;
BEGIN
	DECLARE
		Test VARCHAR2( 100 );
		FUNCTION GetUName RETURN VARCHAR2 AS
		BEGIN
			RETURN 'aaa';
		END;
	BEGIN
		Test := GetUName();
		Test := L12345.GetUName( 1 , 2 , 3 );
	END;
END;
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766470
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alexey_tm
Прескорбно то, что залетевший сюда случайно ПЛ теперь будет утверждать, что Oracle не умеет работать с русскими буквами.
Так это ж не я утверждаю, это как раз таки ораклоиды глюки ловят с неанглийскими идентификаторами
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766478
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer wrote:
> SourceSafe я выкинул очень давно. ErWin-ом пришлось пользоваться
> подольше, и поэтому наблюдал его кривую работу с русскими буквами,
> причем вообще без всякой БД - только внутри себя, на уровне записал
> модель в файл - прочитал модель из файла. Точную версию не помню; если
> не ошибаюсь, major version - 4, build 381.

Версии 4.0 имхо глюкодром еще тот, даже без национальных символов:) Сейчас
попробовал создать таблицу АБВГДЕЁЖЗИКЛМНО (АБВГДЕЁЖЗИКЛМНО varchar2(8)),
втянуть ее в в ERwin 4.1.4 SP3 b4224 - проблем вроде нет.

Удивляет выбор программ SourceSafe и ERwin как "небходимые професионалу для
работы с субд".
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766482
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongsvanoЗапишем еще раз: перегрузка в PL/SQL - кастрированная.
Запишем еще раз: некто Longsvano не знает, что есть перегрузка, однако употребляет это слово и строит на этой основе какие-то теории.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766498
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!!ты с кем разговариваешь думаешь
Я думаю, что в общем случае не тебе определять, с кем и о чем мне разговаривать.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766504
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Пьяный ЛохВпервые слышу о том, что ErWin, а уж тем более SourceSafe - не работают (криво работают) с юникодом вааще и русской кодировкой в частности.
SourceSafe я выкинул очень давно. ErWin-ом пришлось пользоваться подольше, и поэтому наблюдал его кривую работу с русскими буквами, причем вообще без всякой БД - только внутри себя, на уровне записал модель в файл - прочитал модель из файла. Точную версию не помню; если не ошибаюсь, major version - 4, build 381.
Я вот ErWin давно выкинул, по причине непроходимой его глючности. Но пока не выкинул - глюком именно с русскими буквачками не наблюдал. Что, разумеется, не значит, что их нет и быть не может (ну не видел я суслика...).
SourceSafe тоже не лучший выбор (ну разве что для "профессианала" типа Йо), но и он на моей памяти не глючил с кодировками etc.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766515
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВидится. В своей области видимости. Хотя если не знать концепций... Попробуйте

Софтварер, читайте сообщения внимательнее.
Я выше писал, что этот косяк правиться добавлением метки к анонимному блоку.

Мне будет достаточно вашего определия перегрузки и ресурса, откуда вы его возьмете. А потом посмотрим подходит ли мой пример под перегрузку или нет.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766575
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный Лох2 Apex
Я за такое вот кастрировал бы, чтоб дебилов меньше рождалось.
А я бы например кастрировал тех дибилов, которые английский ниасилили, но и по русски писать им религия не позволяет. В итоге пишут транслитом, да еще и с использованием абревиатур :). Получается скотоложество типа ScrPrDrID. Куй его знает что это такое, зато раскладку переключать не надо, и все типа крутые :).

Обеими руками за!
Пьяный Лох
Вы когда-нибудь видели базы данных, в которых ВСЕ названия объектов написаны по русски и практически без сокращений???
Вы, судя по всему, даже не представляете, как в таком случае упрощается разработка и сопровождение системы...
Соболезную
Не видел и видеть не хочу.
Давайте обсуждать вкус устриц с теми, кто их ел.

Спорьте, я лишь сказал, что и без них отлично себя чувствую.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766605
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПолучается скотоложество типа ScrPrDrID
Такое скотоложество получается в том числе и потому, что база заставляет сокращать человеческие имена.
Разработчик был бы рад записать нормальное имя, ан нет - НЭ ЛЭЗЭТ!
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766698
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Apex
Спорьте, я лишь сказал, что и без них отлично себя чувствую
Зачем спорить? Вы ж их не ели :)
Как человек, участвовавший и в проектах с криво-английским naming convention, и в проектах русско-несокращенными схемами именований, могу лишь подтвердить высказывание andy st об упрощении разработки и сопровождения. Если, разумеется, используемый инструментарий (в том числе и СУБД) не взглючит ненароком (косой взгляд в сторону неназываемых СУБД).
А что до "и без них отлично себя чувствую"... хммм... я, быть может, и с однобуквенными названиями таблиц буду себя отлично чувствовать. Это никому ни о чем не говорит.

2 Longsvano
Такое скотоложество получается в том числе и потому, что база заставляет сокращать человеческие имена.
Разработчик был бы рад записать нормальное имя, ан нет - НЭ ЛЭЗЭТ!
Такое скотоложество получается в первую очередь потому, что разруха - она не в сортирах :)
Ну и ограничение в 30 символов, конечно... С одной стороны, 30 знаков - достаточно много... если не увлекаться префиксно-суффиксными схемами... Хотя и без них получалось вылазить за 30 символов, легко и ненапряжно...
С другой стороны, 15 юникодовых букаф - эт писец. Эт несерьезно.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766713
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongsvanoМне будет достаточно вашего определия перегрузки и ресурса, откуда вы его возьмете. А потом посмотрим подходит ли мой пример под перегрузку или нет.
Боюсь, книги не очень подойдут как ресурс. Из того, что легко найти, в целом верное определение - http://www.cs.ucc.ie/~dgb/courses/swd/glossary.html#O В нем только нужно понять, что есть single scope (отождествление этого с "просто scope" будет неверным).

Коротко: уже очень давно существует понятие области видимости идентификатора (display, scope). Сейчас в подавляющем большинстве случаев, область видимости идентификатора (и идентифицированного им объекта, соответственно) - часть блока, в котором объявлен этот идентификатор, после места объявления. Это и есть single scope из определения выше. Далее: в ЯП (впервые, по-моему, в Алголе, хотя могу ошибаться) потребовалась концепция взаимодействия display-ев, подключения одних в другие. То, что сейчас существует в виде вложенных блоков, использования внешних модулей и пакетов, наследования (видимость идентификаторов из предка), namespace-ов итп. Как только появилась эта потребность, появились и правила, определяющие приоритет видимости совпадающих идентификаторов из разных областей видимости. Во всех известных мне реализациях действует принцип - идентификатор, объявленный локально (в текущем блоке), скрывает идентификатор, подключаемый из внешнего блока. Наконец, что же есть перегрузка (overloading). Это фича объявления в одном display-е нескольких одноименных объектов, различимых по контексту использования.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766745
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Longsvano авторВидится. В своей области видимости. Хотя если не знать концепций... Попробуйте

Софтварер, читайте сообщения внимательнее.
Я выше писал, что этот косяк правиться добавлением метки к анонимному блоку.

Мне будет достаточно вашего определия перегрузки и ресурса, откуда вы его возьмете. А потом посмотрим подходит ли мой пример под перегрузку или нет.Извините за вмешательство но вопрос не в перегрузке, а алгоритме разрешения имен. см.
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14261/subprograms.htm#sthref1744
Оракл не лезет в вышестоящий скоуп если нашел имя в текущем, причем перекрытие локальными именами глобальных идет без учета сигнатуры.
Что означает группу перегрузки способны образовывть лишь функции одного скоупа. Противоречит ли это понятию перегрузки - думаю нет. Слегка убого - да.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766813
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRОракл не лезет в вышестоящий скоуп если нашел имя в текущем,
Причем это правильный (необходимый) подход. Иначе возможен следующий вариант: из-за изменения кода в одном месте стал иначе работать код в другом месте. Скажем:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
  -- Вот эту процедуру мы добавили
  procedure DoIt ( Param integer ) is begin ... end ;
begin
  ...
  declare
    -- Вот эта процедура была раньше
    procedure DoIt ( Param varchar2 ) is begin ... end ; 
  begin
    ...
    DoIt (  5  ) ;
  end ;
  ... 
end ;
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766847
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apex wrote:
> locky
>
> в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod.
>
> Это вы че, на каждый документ по процедуре создаете?
ну... вообще-то больше. плюс еще пачку генерит фреймвёрк.
а у Вас получается обойтись одной процедурой обработки для разнотипных
документов?

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766868
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПричем это правильный (необходимый) подход.

Тут вам уже ответили.
Вообще как это разрешение имен реализуется по-уму на низком уровне:

Код: plaintext
procedure DoIt ( Param varchar2 ) is begin ... end ; 

Вашей процедуре и ее набору аргументов присваивается некое хэш-имя, которое есть функция от типа(функ-я, процедура), имени, типов аргументов, их кол-ва и тд. Для машины procedure DoIt будет что-то типа того: PROC_FC086372CABC ну и тд. Для ваших DoIt этот хэш будет одинаковым (Здесь еще нужно как-то учесть DEFAULT параметры), так как varchar2 в number преобразуется автоматически - ваши два DoIt в представлении машины будут носить одинаковые имена.
Но в моем примере эти хэши-названия функций должны быть разные, потому, что передается РАЗНОЕ кол-во аргументов.
По-моему это недоработка или кривизна или косяк. О чем собственно я и говорил.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33766954
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexey_tm пишет:

> Возвращаясь к основной теме. Сравнивать TL/SQL и PL/SQL не кореектно,
> никто не сравнивает basic и c++.

Почему это некорректно? У бейсика и с++ все-таки разные целевые
аудитории и задачи, для которых они создавались, а TransactSQL и PL/SQL
имеют более близкие цели - реализация логики на серверах баз данных. Так
что сравнивать очень даже корректно.

P.S. Может для разнообразия еще Watcom SQL добавим? :) Как он
соотносится с TransactSQL обсуждать, правда, совсем не интересно, а вот
сравнить с PL/SQL все же было бы любопытно.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33767053
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongsvanoТут вам уже ответили.
Да неужто? Между моим сообщением (когда явно "еще не ответили") и Вашим (когда вроде как "уже ответили") ровно одно письмо, при этом это ответ Apex-у от locky. Полагаете, я - виртуал Apex-а?

LongsvanoВообще как это разрешение имен реализуется по-уму на низком уровне:
Хм. Ну-ну.

Комментировать сказанное Вами не хочется - там.. есть неудачные места, но главный вопрос в том, что Вы просто не поняли, о чем я говорю.

LongsvanoПо-моему это недоработка или кривизна или косяк. О чем собственно я и говорил.
Разумеется, Вы имеете право так считать. Сугубо технически любую концепцию можно назвать именно так.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33767122
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКомментировать сказанное Вами не хочется - там.. есть неудачные места, но главный вопрос в том, что Вы просто не поняли, о чем я говорю.

Комментарии не требуется. Посмотрите какой asm код получается на выходе С++ компилятора для функций. Убедитесь. Принимать мои слова на веру я вас не заставляю.

И я понял что вы говорите. Вы отстаиваете концепцию которую избрал Оракл. Я считаю что она убога и разрешить ее можно было одновременно как в вашу пользу, так и в мою, то есть так, чтобы работал и ваш пример и мой.

Однако, зная как медленно развивается PL/SQL, что он до сих пор не может банально повторить концекции С 30-и летней давности или Perl-a 10-и летней давности, то остается только брюзжать.

Однако, давайте пожмем друг другу руки. Спасибо за хороший тред.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33767138
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Longsvano
Поправлюсь. "Не поняли" - пожалуй, неверно, скорее "не оценили".

Вы хотите некоторого определенного поведения (поиск максимально подходящего кандидата при минимальных усилиях программиста). Технически, разумеется, это легко реализуемо. Это поведение обладает определенным недостатком - возможностью легко сделать ошибку. Я привел простой пример, если привести чуть более сложный (функции определены в двух блоках, а используются в третьем), логика затмения не спасет от указанной мной проблемы скрытого изменения.

Разумеется, предпочитаемая Вами концепция имеет право на жизнь. Но это совершенно не повод считать другую (и имхо - лучшую) кривой. Из вариантов "можно сделать А, защищен от Б" и "можно сделать А, нет защиты от Б" я почему-то предпочитаю первый.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33767143
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Longsvanoи разрешить ее можно было одновременно как в вашу пользу, так и в мою, то есть так, чтобы работал и ваш пример и мой.
Нельзя.

LongsvanoОднако, зная как медленно развивается PL/SQL, что он до сих пор не может банально повторить концекции С 30-и летней давности или Perl-a 10-и летней давности, то остается только брюзжать.
PL/SQL в основном повторяет концепции ADA 25-летней давности. И совершенно не собирается повторять концепции одного опасного языка и одного плохого языка.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33767156
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНельзя.
Если есть время, можете накатать кусочек кода чтобы я это понял?
...
Рейтинг: 0 / 0
25 сообщений из 134, страница 5 из 6
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PL/sql и T/sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]