Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Мне необходимо заполнить прайс-листы, находящиеся в одной таблице, данными из остатков по товарам, которые формируются в уже имеющейся SP (для SergSuper - её я доработал с Вашей помощью ). Можно ли в SP, которая займется заполнением прайса, поставить вызов SP, формирующей данные по остаткам??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 11:03 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Отвечаю сам себе Не стал ломать голову. Просто создаю таблу в SP, формирующей сведения по остаткам, а в этой SP еe использую: UPDATE price_records set price_records.kol_vo =o.ostatok, price_records.price =o.price_uchet/o.ostatok FROM price_records p, ost_t o WHERE p.price_id = @price_s AND p.detail_id = o.detail_id AND p.base_id = o.base_id AND p.vkl<>0 Примитивно, но работает... Хотя остается поле для предложений, т. к. вопрос этим не закрыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 12:30 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Здесь на форуме говорят, что # таблица видна во вложенной процедуре. Если эта так то все очень просто. EXEC Proc, а там уж модифицируйте # как хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 12:35 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Фэнкс, Slava. И как это я сам не догадался??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 12:37 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 AlexUnik Напишите получилось или нет использовать # во вложенной SP? Дело в том, что я только что про ее видимость прочитал. Мне самому совет дали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 12:47 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Увы. "Invalid object name '#ost_t'" Быть может, я как-то не так создаю SP: CREATE PROCEDURE SEL_OST_TATOK (@price_s varchar(40), @date_2 smalldatetime, @base_s smallint, @sel_s varchar(40)) AS BEGIN --Временная таблица для остатка, который не имел движения и поэтому д. б. просто последний остаток create table #ostatok_dat (base_id smallint, detail_id int null, Max_dat smalldatetime) insert into #ostatok_dat select base_id, detail_id, MAX(date) AS Max_dat FROM ostatok where ostatok.base_id=@base_s and ostatok.date<=@date_2 GROUP BY base_id, detail_id --Выборка самих остатков по полученным данным create table #ost_t (base_id smallint, date smalldatetime, detail_id int, ostatok int, price_uchet float) insert into #ost_t SELECT ostatok.BASE_ID, #ostatok_dat.Max_dat, ostatok.detail_id, ostatok.ostatok, ostatok.price_uchet FROM ostatok RIGHT OUTER JOIN #ostatok_dat ON ostatok.base_id = #ostatok_dat.base_id AND ostatok.detail_id = #ostatok_dat.detail_id AND ostatok.date = #ostatok_dat.Max_dat end А затем идет вызов типа: CREATE PROCEDURE upd_price_ost (@price_s varchar(40), @date_2 smalldatetime, @base_s smallint, @sel_s varchar(40)) AS --Процедура расчета остатков на конечную дату и занесения данных в прайс BEGIN exec sel_ost_tatok @base_s=25, @date_2='5.25.2001', @price_s=@price_s, @sel_s ='' --Занесение самих данных UPDATE price_records set price_records.kol_vo =o.ostatok, price_records.price =o.price_uchet/o.ostatok FROM price_records p, #ost_t o WHERE p.price_id = @price_s AND p.detail_id = o.detail_id AND p.base_id = o.base_id AND p.vkl<>0 end QA выдает "Invalid object name '#ost_t'" Я вынужден с ним согласиться и использовать старый вариант PS. Обидно, но факт, что решение есть. Но моего опыта для его быстрого поиска не хватает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 13:05 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Вы извините но я так и думал, поэтому поиск не остановил Точно можно вот так вот insert into #Tmp exec MyProc 'Table1' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 13:31 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Остальное Вы наверно поняли, но на всякий случай CREATE PROCEDURE MyProc @TableName char(6) AS DECLARE @Str char(100) SET @Str = 'select * from ' + @TableName EXEC(@Str) GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 13:35 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
OK, Slava. Все работает Таким образом, Вы ответили на мой вопрос, за что большое Вам спасибо! Не теряйте эту конференцию из виду - мне она кажется лучшей из русскоязычных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:03 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
You welcome. Надеюсь не потеряю из виду. Хочу взять с Вас "оплату"(шутка). Расскажите как Вы эту рожицу вставили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:06 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Вообше-то вставляются комбинации типа многоточие и скобка - или точка с запятой и скобка - и т.д (см. теорию "смайликов"). Остальное доделывает сервер. Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:13 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 AlexUnik 1. По-моему или у Вас стоит 6.5 или Вы где-то ошибаетесь. Например у меня на 2000-м(и на 7-м тоже должен) такой скрипт проходит без ошибок: create proc #p as select * from #t go create table #t(i int) go exec #p 2. Не стоит использовать EXEC(@Str)там где можно без этого. Вы же можете: а) из процедуры остатков сделать функцию б) заполнять таблицу прямо из процедуры(insert #t exec #p) Если у Вас 2000-й я бы советовал остановиться на п. б), иначе - п. а) Старайтесь в дальнейшем не использовать EXEC(@Str), если это осознано не необходимо и других путей нет. К сожалению как-то аргументировать мою позицию я не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:25 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Попробуй другие комбинации знаков типа : ; 8 и скобок ( ). Там их много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:29 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 SergSuper >. К сожалению как-то аргументировать мою позицию я не могу. План выполнения процедур сохраняется, поэтому компилияция один раз, в случае Exec(@str)компиляция каждый раз заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:30 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 SergSuper С самого начала в нашем головном офисе был SQL6.5. Мне была поставлена задача перевода всего на SQL7, что я и выполнил с соответствующей переделкой всех View, SP и т.д. ( в течение 1 месяца). Будь моя воля, SQL7 сейчас был бы так же кандидатом на моральный апгрейд Но, увы, я пока не вхожу в число лиц, принимающих подобные решения. Вопрос по теме: как из процедуры остатков сделать функцию (пункт а)??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:42 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 SergSuper я догадывался о нерациональности EXEC(@Str), но это были только предположения. На мой взгляд эта конструкция плоха тем, что каждый раз при ее выполнениии сервер компилирует @Str заново. Точно, то что время затрачиваемое на компиляцию одной строчки сильно ничтожно мало, но если умножить на количество строк, то может и получится что-то существенное. Как Вы думаете я прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:44 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
А разве GO не чистит переменные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:51 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Genady Я у Вас мысль не крал прошу заметить, просто пока я набирал Вы уже... Delphi за 1 сек компилирует около 1600 строк, Visual C и того больше, SQL 2000 скорее всего еще больше. Вы со мной согалсны? Хочется иметь в голове количественные характеристики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:57 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava GO чистит переменные, но временные таблицы живут до окончания конекшена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 14:58 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava >Я у Вас мысль не крал прошу заметить, просто пока я набирал Вы уже Да ради Бога Компилирует то сервер быстро, но все равно в БД оптимизация занимаеи не последнее место, одно дело когда 10 юзеров, и совсем другое, когда 1000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 15:03 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Genady Я с Вами абсолютно согласен. Вот вопрос: Как Вы считаете время затрачиваемое на create procedure #p значительно меньше чем компиляция одной строчки. Я только сейчас об этом задумался. Ведь эта procedure существует в TempDB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 15:10 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Я вот поразмыслел и пришел к выводу что создание временной процедуры занимает гораздо больше времени чем компиляция одной строчки, т.к. это не виртуальная процедура, а самая что ни есть вещественная. Она в TempDB пишется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 15:34 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 AlexUnik Я как всегда перепутал, Вам как раз нужен п. б) 2 Anothers(about EXEC) Я имел ввиду не скорость выполнения, а само написание. Некрасиво как-то получается, от реляционности уводит Я лично использую EXEC когда надо сосчитать строку: например, есть строка "2+2", а надо получить "4". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 15:40 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 SergSuper Спасибо Ваши ответы всегда вдохновляют меня на более глубокое изучение SQL Server... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2001, 15:51 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 SergSuper & Genady Пожалуйста, я хотел бы продолжить дискуссию. Мои размышление привели меня к мысли о том что гораздо выгодней использовать заранее созданную процедуру с Exec внутри, чем создавать эту процедуру заново, ведь временная процедура создается как и обычная, только в TempDB. При ее создании копмилируется куда больше строк чем одна. Да и потом почему это уводит от реляционности. Ведь проблема только в том как передать имя таблицы и ее условие. Мне кажется что реляционность останется тоьлко при случае когда мы сможем использовать одну инстркуцию типа SELECT, в остальных других случаях кажется, реляционнсть как бы снижается. Очень жду Ваших мнений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2001, 08:30 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
ИМХО, Слава прав. Создание процедуры занимает больше времени чем вызов exec. Я в свое время сталкивался с такой ситуацией. Мне правдо все равно пришлось использовать временную процедуру, но это было связано с тем, что размер строки запроса, который можно выполнить с помощью exec, огграничен 2000 символов, а у меня этот предел запросто перекрывался (объяснять как слишком долго...). Еще одной причиной, по которой можно предпочеть процедуру exec'у, является необходимость многократного вызова одного и того же вычисленного запроса. Тут я правда не уверен, может быть СКУЛ сервер достаточно умен, чтоб не перекомпилять параметр exec'a много раз, но если это не так, то процедура - лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2001, 18:20 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 andy: >тут я правда не уверен, может быть СКУЛ сервер достаточно умен, чтоб не перекомпилять параметр exec'a много раз, но если это не так, то процедура - лучше. Для этого существует sp_executesql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 05:16 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за мнения. Очень рад был их почитать. Хочу поскорей sp_executesql посмотреть. До следующей дискуссии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 05:33 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Поправеть если я не прав. sp_executesql выполняет строку из Unicode. Она тоже будет перекомпилировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 06:14 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Всем, Всем, Всем. Если исходить из мысли, что любая инструкция SELECT не зависимо от количества исполнений компилируется заново, то EXEC всегда удобней. И действительно любая SELECT компилируется заново каждый раз, даже если она не изменялась. Сервер каждый раз компилирует, составляет план, оптимизирует и исполняет. А как иначе проводить самооптимизацию. Не компилируется только, то что сохранено на сервере и что не имеет параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 06:36 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
В предыдущем высказывании я ошибся. Я вообще там все попутал. SELECT сохраненный на сервере не компилируется. Комплириуется только тот который с клиента пришел. EXEC удобен только в определенных случаях, т.е. не во всех. Andy абсолютно прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 08:00 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava У меня небольшой опыт работы с MS SQL, но пока мне ни разу не было нужно, создавать временную процедуру. Если Вас очень интересует когда и как компилирует запросы сервер, то посмотрите в BOL там достаточно подробно все описано. Суть в том что сервер старается использовать повторно все что только можно, т. е. даже если приходит запрос, план выполнения которого уже есть в процедурном кеше, но с другими параметрами, он все равно используется. С процедурами я думаю все и так ясно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 09:54 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Попробую развить свою мысль насчет нежелательности использования EXEC(). Дело в том что язык SQL - это декларативный язык, в котором добавлено кое-что от процедурного. И вот это процедурное всегда уводит от реляционности. А его как раз нужно использовать чтобы сформировать эту строку. И приходиться писать всякие IFы, циклы и др. конструкции. Ну согласитесь, что это некрасиво выглядит: exec('select * from tbl where a='+@a+' and b="'+@b+'"') И это не самый тяжелый случай. Еще один момент - при чтении текста кода гораздо трудней понять что же там происходит. Я начинал работать на 4-м SQL-е, там не было EXEC()-ов и мне их хотелось. Через год или два я перешел на 6.0, там они уже были, но я не стал их использовать. В реальности это оказалось не так красиво, как представлялось. Мои размышление привели меня к мысли о том что гораздо выгодней использовать заранее созданную процедуру с Exec внутри, чем создавать эту процедуру заново, ведь временная процедура создается как и обычная, только в TempDB. Это к чему, я не понял? При чем здесь временная процедура? Зачем создавать заново процедуру? Может можно просто подумать как по другому написать? Может со структурой базы что-то не то? Не знаю, может у меня задача примитивная, но я практически обхожусь без EXEC()-ов. Да и вы потом будете обходиться Извиняюсь за витиеватость и неконкретность изложения, но у меня это всё на уровне интуиции и я не знаю как написать по другому. С приветом Сергей PS. А вообще-то я могу и ошибаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 10:51 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ, Сергей. Кстати, насчет твоей интуиции. По-моему, она у тебя базируется на твоем огромном знании и опыте. Именно поэтому мне так легко довериться твоим рекомендациям в ситуации поиска быстрого решения, даже если ты их никак не обосновываешь. Успехов, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 13:02 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 SergSuper К сожелению я против интуиции в комьютерном вопросе. Здесь на все есть ответ и рациональное зерно. Вы же сами предложили: "Сreate proc #p". Разве это не временная процедура или я опять встрял? В книгах я такого кода вообще не встречал. Конечно всякая БД должна точно соответствовать реляционным правилам, и путь решения любого вопроса желательно искать в этих правилах. Я с этим совершенно согласен. Вот я сижу и переношу БД с InterBase на SQL 2000. Я не успел до конца реляционность проверить, т.к. не я проектировал, но из того что я знаю о начислении зарплаты(со всеми правилами и отчетами), без всякого рода помощи типа EXEC не обойтись. Можно конечно поседеть пару лет, подумать, может что и придумаю, но ведь шефы торопят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 13:49 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava Вообщем-то я не настаиваю. Я просто поделился своими мыслями, если это что-то Вам дало - хорошо, нет - во всяком случае хуже не стало. А временные таблицы и процедуры в примерах я использую что бы каждый мог спокойно запустить у себя и проверить. И вообще любой пример я по возможности стараюсь сначала у себя запустить. Создавать каждый раз постоянные таблицы и процедуры не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 14:15 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava. С Вашим мнением насчет интуиции не согласен!!! Вы же сами говорите о сроках. Вот давайте представим, что Вы начали разработку базы с нуля, а не ориентируясь на уже готовый вариант. Если под каждый свой шаг Вы станете искать в умных книжках строчку, обосновывающую данный шаг, то Ваша работа станет напоминать работу поискового сервера, а не разработчика БД Кстати, посмотрите в книгах определение понятия интуиции. Очень хотелось бы говорить с Вами на одном языке... О сроках. Сроки с начальством желательно обсуждать не в разрезе целого проекта, а по этапам его выполнения. Если, конечно, это возможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2001, 14:25 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 AlexUnik Зря Вы про работу поискового сервера. Даже SQL2000 имеет границы. Причем с каждой строчкой из книги они все ближе и ближе. Я уверен, что его познать до конца можно. О сроках. Это Вы конечно очень хорошо предложили, но к сожелению когда я спросил у них сколько времени на проект имеется, то в тот же момент увидел, что они только что об этом задумались. Я не преувеличиваю. У нас в конторе управление минимальное(знаете менеджмент и все такое). Определение понятия интуиция я не читал, поэтому пользуюсь бытовым что ли. Мне кажется, что интуиция это когда человек принимает решение на основе... черт его знает на какой основе, наверно как левая пятка подскажет. Сейчас подумал, что для интуиции есть место в компьютерном вопросе, только не знаю какое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 02:42 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava Интуиция требуется везде, где необходим (большой объем знаний + что-то еще неизвестное или позабытое) для создания полноценного продукта. Вспомните историю создания таблицы Менделеева. Кстати, подвести теоретическую базу под какую-либо разработку (типа принципов нормализации) - так это же надо сначала эту разработку до ума довести Короче интуицию я считаю более препочтительной для себя в вышеописанных случаях, чем метод "научного тыка". Успехов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 05:24 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
ИНТУИЦИЯ (ср.-век. лат. intuitio, от intueor пристально смотрю), постижение истины путем непосредственного ее усмотрения без обоснования с помощью доказательства; субъективная способность выходить за пределы опыта путем мысленного схватывания («озарения») или обобщения в образной форме непознанных связей, закономерностей. /http://mega.km.ru//bes_98/encyclop.asp?TopicNumber=24686&search=%E8%ED%F2%F3%E8%F6%E8%FF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 06:11 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
"Интуиции бывает достаточно для усмотрения истины, но её недостаточно, чтобы убедить в этой истине других и самого себя. Для этого необходимо доказательство" (БСЭ) См: http://www.rubricon.ru/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 07:03 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Довольно интересные определения Вы коллеги привовдите!!! Но все же мне кажется интуиция 100% нужна когда на базаре арбуз выбираешь(как правило не понятно, что у него внутри). А вот при производстве больших и малых проектов нужно все-таки заранее знать к чему приведет то или иное действие!!! Ну сами посудите если принять решение на основе интуиции например о том добавлять таблицу или нет, нельзя же быть уверенным в том, что она действительно нужна. Ну а вот если применять нормализацию для принятия этого решения, то скорее всего исход решения будет заранее известен. Интуитивный подход нужен при принятии решения о необходимости проекта в обществе, ну никак не при его реализации. Конечно этот же подход годится при продумывании версионности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 07:50 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
2 Slava Коллега, для того, чтобы выбрать арбуз на базаре, нужно гораздо меньше интуиции, чем знания некоторых приемов опознавания структуры сего продукта (я коренной астраханец и уж в этом деле знаю толк) Но для того, чтобы внедрить в жизнь какой-либо информационный проект, интуиции необходимо гораздо больше, чем в первом случае А вопрос о необходимости таблицы и ее "причесанности" с точки зрения нормализации ты сможешь разрешить с помощью теории лишь после того, как он (этот вопрос) у тебя вообще появился. Сожалею, но без некоторой доли интуиции он может и не появиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 09:03 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Интуиция на голом месте не возникает... Обычно ей предшествует некоторый жизненный опыт. После того, как сделаешь несколько обследований при проектировании и набьешь некоторое количество шишек, на N-ом обследовании начинаешь заострять особое внимание при беседе с заказчиком не столько на стандартных бизнес-процессах, которые работают в массе, сколько на случающихся редких исключениях, выпадающих из общей стройной схемы. Вроде отпуска товара, которого на складе нет, формирование продажной цены ДО того как стала известна цена поставщика, оплата нескольких поставок одним большим мешком денег, сумма которого не бьется ни с какой комбинацией произведенных поставок (попробуй-ка распредели эту оплату по поставкам), отпуск товара НЕ по прайсу (по звонку директора). А вот попробуйте догадаться, что при сверках взаиморасчетов с контрагентами случаются контрагенты с совершенно разными ИНН и наименованиями, но от имени которых работаю одни и те же люди, и должна иметься возможность свалить несколько таких контрагентов в одну общую кучу, чтобы составить по ним один совокупный акт сверки взаимрасчетов... Когда же пользователи вдруг обнаруживают, что во всех подобных случаях твоя программа оказывается на высоте, все начинаю восхищаться твоей интуицией. Если бы они знали, что пользователи, для которых писались первые программы были другого мнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 16:40 |
|
||
|
Вызов SP из другой SP.
|
|||
|---|---|---|---|
|
#18+
Garya, а тебе не кажется, что ты простио научился запихивать весь этот жизненный бред в реляцию? Другими словами, интуиция в данном случае сродни искусству... только для тех кто действительно это понимет. Вот и живем и работаем на грани интуиции и искусства, господа технари! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2001, 17:54 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1826644]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 362ms |

| 0 / 0 |
