Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 94
от 21.05.2006, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 305, Экспертов: 35
В номере:Вопросов: 2, Ответов: 4


Вопрос № 43144: Здравствуйте. Речь идет об SQL Server 2k Enterprise. Можно ли передать имя поля, которое нужно вернуть, передать хранимой процедуре в качестве параметра? К примеру в таблице есть ряд полей на разных языках. Требуется проверять их на наличие п...
Вопрос № 43201: Здравствуйте, Уважаемые Эксперты! Подскажите, пожалуйста где можно нарыть хоть какую-нибудь инфу по дерективам типа "#M_FORCEPLAN" и иже с ними. Поиск в инете не дал результатов....

Вопрос № 43.144
Здравствуйте.
Речь идет об SQL Server 2k Enterprise.
Можно ли передать имя поля, которое нужно вернуть, передать хранимой процедуре в качестве параметра? К примеру в таблице есть ряд полей на разных языках. Требуется проверять их на наличие перевода. Примерный вид процедуры в приложении. Только непонятно, как передать имя поля - langName.

Приложение:

Отправлен: 15.05.2006, 21:59
Вопрос задал: Кошелев АВ (статус: 3-ий класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: SpaJdeR
Здравствуйте, Кошелев АВ!

Можно воспользоваться системной хранимой процедурой sp_executesql, которая возволяет выполнять динамические скрипты. @langName будет передаваться как обычная текстовая строка (nvarchar(30) или что-нить в этом духе).

Статьи по работе с sp_executesql:
MSDN (eglish) - http://www.sql.ru/faq/faq_topic.aspx?fid=104
Динамический запрос или "переменная @Tablename" (рус) - http://www.sql.ru/faq/faq_topic.aspx?fid=104
Ответ отправил: SpaJdeR (статус: 1-ый класс)
Ответ отправлен: 16.05.2006, 01:09
Оценка за ответ: 5
Комментарий оценки:
Спасибо, то что надо. Перепутана ссылка на мсдн, но там я уже нашел их кучу, главное знаю что искать.

Отвечает: Santana
Здравствуйте, Кошелев АВ!
Что-то я Вас сударь не понял. Нужно значение поля по условию? Попробуйте так

SELECT FieldName
FROM admin_content
WHERE node_ident = @nodeID

FieldName - соответственно то поле какое надо

если нужны разные поля. надо добавить еще один параметр. например int @iTypeLang и далее в процедуре

if @iTypeLang = 1
SELECT Franch
FROM admin_content
WHERE node_ident = @nodeID

if @iTypeLang = 2
SELECT English
FROM admin_content
WHERE node_ident = @nodeID

можно условие в селекте ставить. вообщем возможны варианты
Ответ отправил: Santana (статус: 2-ой класс)
Ответ отправлен: 16.05.2006, 10:30


Вопрос № 43.201
Здравствуйте, Уважаемые Эксперты!
Подскажите, пожалуйста где можно нарыть хоть какую-нибудь инфу по дерективам типа "#M_FORCEPLAN" и иже с ними. Поиск в инете не дал результатов.
Отправлен: 16.05.2006, 11:49
Вопрос задал: Wino Veritas (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Santana
Здравствуйте, Wino Veritas!
например SYBASE.RU или SQL.RU. а исчо есть поисковики типа яндекса или гоголя.
ищите да обрящете
Ответ отправил: Santana (статус: 2-ой класс)
Ответ отправлен: 16.05.2006, 12:08
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ!

Отвечает: Игорь Елизаров
Здравствуйте, Wino Veritas!
а это точно директива ?
Дело в том, что, например в SQL символом # в начале наименования переменной обозначают, что это временная таблица.
Может это из той же оперы ?
Ответ отправил: Игорь Елизаров (статус: 4-ый класс)
Ответ отправлен: 16.05.2006, 15:23
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ! Да, это именно директива.
Это деректива планировщику запросов, на основе которой принимается решение об оптимизации, а вот что она означает - не знаю.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное