Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамический sql, как передать переменные?? 
V
    Опции темы
gambit
Дата 25.3.2011, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



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

Имеется хранимка которая динамически строит запрос, и выполняет его. Вот как передать переменные в этот запрос??

Код

USE [log_server]
GO
/****** Object:  StoredProcedure [dbo].[TestGetLogs]    Script Date: 03/25/2011 11:03:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TestGetLogs]
    @ParamName nvarchar(50),
    @ObjectName nvarchar(50)
AS
BEGIN

DECLARE @sql nvarchar(4000)
SET @sql = N' текст запроса WHERE'

if (@ParamName<> N'')
SET @sql = @sql + '(ExtraParam.name = ' + @ParamName)or (ExtraParam.value = @@ParamName)'

if ((@ParamName<> N'') and (@ObjectName<> N'')) 
SET @sql = @sql + 'and'

if (@ObjectName<> N'')
SET @sql = @sql + '(LinkedObjects_1.objectType = @@ObjectName) or (LinkedObjects.objectType = @@ObjectName)'

EXEC sp_executesql @sql -- что написать дальше??
END


Я чет уже все испробовал, у меня то падает, то еще какая то лажа

Это сообщение отредактировал(а) gambit - 25.3.2011, 11:09
PM MAIL ICQ Skype   Вверх
metis
Дата 25.3.2011, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.1.2008

Репутация: нет
Всего: нет



Если так:
Код

exec sp_executesql @sql, N'@ParamName nvarchar(50), @ObjectName nvarchar(50)',   @ParamName , @ObjectName

А вообще вот, самая первая ссылка динамические запросы SQL очень хорошо все описано
 

Это сообщение отредактировал(а) metis - 25.3.2011, 12:19
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.