Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
6-96913
Джанк
2002-11-25 10:43
2003.01.30
Как заставить TNMHHTP работать по проксе ???


1-96821
Danik
2003-01-20 19:50
2003.01.30
кто знает как проверить существует ли такая папка????


3-96528
valmont
2003-01-14 18:12
2003.01.30
Удаление из таблицы


14-97031
khov
2003-01-13 19:17
2003.01.30
Компонент для работы с DBF


1-96803
vil
2003-01-20 13:03
2003.01.30
SetFocus




   Наверх