Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

Можно ли написать select из процедуры в MS SQL 2000?   Найти похожие ветки 

 
oleon   (2003-01-13 12:23) [0]

Как можно написать запрос такого рода?
select * from Table1 where ID in (select ID from <процедура>...

В InterBase такая возможность была сто пудов...
А в MS SQL 2000 можно так извратиться?


 
Delirium ©   (2003-01-13 12:40) [1]

В чистом виде нет. Существует конструкция:
insert MyTable
exec MyProc

Однако тут очевиден недостаток - необходимо заранее знать структуру получаемых данных. Есть ещё один подход:
select * from OpenQuery(MyServer, "exec MyProc")


 
BlackTiger   (2003-01-14 00:38) [2]

А еще лучше (если возможно, конечно) использовать вместо хранимой процедуры table-функцию.


 
ЮЮ ©   (2003-01-14 03:59) [3]

в MS SQL 2000 есть UDF, которые можно использовать в запросах как таблицы:

CREATE FUNCTION dbo.StudyPlanFaculties()
RETURNS @StudyPlanFaculties TABLE ( CODE int )
AS
BEGIN
...
END

CREATE VIEW dbo.V_StudyPlans
AS
SELECT *
FROM dbo.U_StudyPlans
WHERE dbo.U_StudyPlans.Faculty in (SELECT CODE FROM StudyPlanFaculties()) and (Signed is null)
WITH CHECK OPTION


 
oleon   (2003-01-14 18:10) [4]

Дело в том, что нужно в зависимости от входного параметра типа Varchar (имя таблицы) формировать строку запроса и потом написать execute(@S), а в функции execute писать нельзя... поэтому хотелось сделать это все в процедуре...



Страницы: 1 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
8-96886
Иришка
2002-10-16 13:08
2003.01.30
простенький вопросец, а ответ на него мне может очень помочь


3-96596
YurikV
2003-01-13 15:35
2003.01.30
Delphi 6 & Access 2000


14-96997
Song
2003-01-10 07:12
2003.01.30
А я на новой работе. Теперь уже непосредственно програмистом


1-96865
Alex S
2003-01-20 11:17
2003.01.30
Quick Report


1-96857
Evgeniy K
2003-01-19 14:50
2003.01.30
Вопрос только для Мастеров/прикладных программистов.