Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

без sp_executeSQL не обойтись? [D7, MSSQL]


Страницы:   1 2

interbase ©   (2008-12-24 16:13:00) 

Всем доброго времени суток!

есть процедурка(MS SQL Server 2005):

CREATE PROCEDURE aaa(@a VARCHAR(1000))
AS
BEGIN
 SELECT *
   FROM table
  WHERE id IN (@a)
END

вызов execute aaa '1,2,3,4'

так не работает... не ругается, но и не делает выборку. Без executeSQL никак?


Ega23   (2008-12-24 17:16:00) [1]


> ну, я имел в виду не работате так, как мне надо.


Вот негодяйка какая!


interbase   (2008-12-24 17:08:00) [2]


> sniknik ©   (24.12.08 17:07) [28]

телепатор от рождения или от посещения данного форума?:)


sniknik   (2008-12-24 17:07:00) [3]

> так мне надо то из одной, то из другой - одной и той же процедурой
надо работать, но так хочется чуда... ;)


interbase   (2008-12-24 17:07:00) [4]


> sniknik ©   (24.12.08 17:05) [26]

ну, я имел в виду не работате так, как мне надо.


sniknik   (2008-12-24 17:05:00) [5]

> не работает:(
вообщето работает, но только не так как тебе хочется
к примеру проверь (если есть база Northwind, нет сделай аналогично)
при коннекте к примеру к мастеру
EXECUTE ('USE Northwind  SELECT * FROM Categories')
все работает


interbase   (2008-12-24 17:05:00) [6]


> sniknik ©   (24.12.08 16:59) [22]


> бери...
> base.dbo.table , зачем же переходить то, а если она под
> другим сервером, то -> openrowset/opendadasource.

так мне надо то из одной, то из другой - одной и той же процедурой


interbase   (2008-12-24 17:02:00) [7]


> Johnmen ©   (24.12.08 16:52) [18]

не работает:(


> Ega23 ©   (24.12.08 16:56) [20]


> Как-то - можно. DTS тебе в помощь.


что за зверь?


Johnmen   (2008-12-24 17:02:00) [8]


> sniknik ©   (24.12.08 16:59) [22]

Да, я догадываюсь :)


sniknik   (2008-12-24 16:59:00) [9]

> EXECUTE ('USE '+@s)
не получится, т.к. действие перехода будет только для сессии "внутри" данного EXECUTE

> а данные брать из требуемой базы.
бери...
base.dbo.table , зачем же переходить то, а если она под другим сервером, то -> openrowset/opendadasource.


Медвежонок Пятачок   (2008-12-24 16:56:00) [10]

и что тебе даст юз?

следущая же строка после execute('use ...  ') в которой ты обратишся к объекту в той бд просто не скомпилится.


Ega23   (2008-12-24 16:56:00) [11]


> Может ее(синхронизацию) автоматом можно как-то сделать?


Как-то - можно. DTS тебе в помощь.


interbase   (2008-12-24 16:53:00) [12]


> Медвежонок Пятачок ©   (24.12.08 16:48) [17]

ага, ясно.
Просто есть несколько БД, идентичные по структуре, но с разными данными - почему так, вопрос не ко мне. Некоторую часть структуры можно было б вынести в отдельную БД, а данные брать из требуемой базы. Зело напрягает синхронизировать все в них:(.
Может ее(синхронизацию) автоматом можно как-то сделать?


Johnmen   (2008-12-24 16:52:00) [13]


> interbase   (24.12.08 16:46) [16]

EXECUTE ('USE '+@s)


Медвежонок Пятачок   (2008-12-24 16:48:00) [14]

в процедуре тебе сделать use один фик на дадут.
а на клиенте этого и не надо.


interbase   (2008-12-24 16:46:00) [15]


> Johnmen ©   (24.12.08 16:40) [14]


> Johnmen ©   (24.12.08 16:43) [15]

ответь мне, о Вопрошающий и Надеющийся, на

> interbase   (24.12.08 16:35) [11]


Johnmen   (2008-12-24 16:43:00) [16]


> sniknik ©   (24.12.08 16:39) [13]

Остается надеяться, что не буде 4, 5,  6,   7
:)


Johnmen   (2008-12-24 16:40:00) [17]


> sniknik ©   (24.12.08 16:36) [12]

id=7, @a='77,88'
?


sniknik   (2008-12-24 16:39:00) [18]

и кстати нужно две... обрамляющие, а то с одного конца тоже будут непонятности...


sniknik   (2008-12-24 16:36:00) [19]

> приклеивать слева справа загогулины.
уже есть, запятая
where charindex(cast(id as varchar)+',',@a) > 0


interbase   (2008-12-24 16:35:00) [20]


> Медвежонок Пятачок ©   (24.12.08 16:30) [9]

а как насчет идеи для:

declare @s varchar
set @s = 'MySuperBase'
use @s
?
Очень надо!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо