Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 16:25   #1
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию Procedure SQL

объясните плиз 3 строку

declare @a varchar(25),@b varchar(25) -объявление переменных-
set @a='ABC' -присваивание-
exec master.dbo.retrivedata @a,@b output -примерно понимаю что это-
print @b -вывод на печать -

говорят что ответ 'ABC' почему ведь b объявлена но значение ей не присвоенно


заранее спс
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 22.03.2010, 17:23   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

раз возникает такой вопрос, значит это точно непонятно
Цитата:
Сообщение от Neymexa Посмотреть сообщение
exec master.dbo.retrivedata @a,@b output -примерно понимаю что это-
и стОит разобраться что же делает exec и откуда берется результат
soleil@mmc вне форума Ответить с цитированием
Старый 22.03.2010, 19:14   #3
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от Neymexa Посмотреть сообщение
exec master.dbo.retrivedata @a,@b output -примерно понимаю что это-
Это вызов или хранимой процедуры или функции с именем "retrivedata" из БД "master". В общем, первое что бы я сделал - так это запустил бы Enterprise Manager/Management Studio (в зависимости от версии SQL Server'a) и поковырял бы базу "master" на наличие объекта с именем "retrivedata".

Возможно наткнулся бы на что-нибудь вроде:

Код:
CREATE procedure dbo.retrivedata
  @a varchar(25),
  @b varchar(25) OUTPUT
AS
BEGIN
  SET @b = @a
END
В этом случае @b точно возвращает 'ABC'
edgy вне форума Ответить с цитированием
Старый 22.03.2010, 21:41   #4
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию

Цитата:
Сообщение от edgy Посмотреть сообщение
Это вызов или хранимой процедуры или функции с именем "retrivedata" из БД "master". В общем, первое что бы я сделал - так это запустил бы Enterprise Manager/Management Studio (в зависимости от версии SQL Server'a) и поковырял бы базу "master" на наличие объекта с именем "retrivedata".

Возможно наткнулся бы на что-нибудь вроде:

Код:
CREATE procedure dbo.retrivedata
  @a varchar(25),
  @b varchar(25) OUTPUT
AS
BEGIN
  SET @b = @a
END
В этом случае @b точно возвращает 'ABC'
нет в базе только то что я написал
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 23.03.2010, 06:49   #5
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от Neymexa Посмотреть сообщение
нет в базе
Да, по умолчанию в базе "retrivedata" нету. Но exec говорит о том, что должен быть, потому что вызывается на выполнение.

Вы уверены, что привели весь кусок кода?
edgy вне форума Ответить с цитированием
Старый 23.03.2010, 08:27   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
говорят что ответ 'ABC'
Кто говорит то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.03.2010, 09:16   #7
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Кто говорит то?
есть документация поставляемая известной it фирмой (не важно какой).
так вот там так и сказано ответ 'ABC'.
код весь полностью.
дело не в базе. просто что значит 3 строка?
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 23.03.2010, 09:29   #8
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от Neymexa Посмотреть сообщение
просто что значит 3 строка?
Это означает, что вызывается на выполнение объект БД с именем "retrivedata" (может хранимка, а может и функция (UDF) ) с передачей параметров, перечисленных после имени. Думаю, что в документации это должно быть уточнено.
edgy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает procedure korand Общие вопросы Delphi 8 09.03.2010 21:18
procedure Delete REztor Помощь студентам 6 10.03.2009 21:47
Procedure unknown yulia БД в Delphi 9 26.01.2009 01:33
procedure! please! help! NeAlSe Помощь студентам 2 15.06.2008 15:38
function procedure Toxa Microsoft Office Access 1 28.11.2007 18:32