Возможно ли использовать таблицу в качестве входных данных для хранимой процедуры?Выполнение хранимой процедуры с таблицей в качестве входного сигнала
EXEC sp_Proc SELECT * FROM myTable
Я создал функцию для возврата таблицы, состоящей из одной записи.
ALTER FUNCTION dbo.preEmail
(
@Num INT,
@WID INT
)
RETURNS
@Results TABLE
(
WID char(10),
Company nchar(50),
Tech nchar(25),
StartDate datetime,
Description varchar(max),
Address varchar(200),
Phone varchar(15),
Status varchar(35)
)
AS
BEGIN
INSERT INTO @Results
(WID, Company, Tech, StartDate, Description, Address, Phone, Status)
SELECT WID, company, tech, startDate, description, address, phone, status
FROM wo_tbl
WHERE Num = @Number AND wid = @WID
RETURN
END
GO
Дальше У меня есть хранимая процедура, которая отправляет электронное письмо по технологии, которая запланирована в вышеупомянутой записи.
EXEC sp_emailTech @WID, @Company, @Tech, @StartDate, @Description, @Address, @Phone, @Status.
, но я предпочел бы сделать
EXEC sp_emailTech SELECT * FROM dbo.preEmail(1, 5746)
какая версия SQL Server? – Taryn
Вы можете передать имя таблицы и выполнить свои операции из динамического SQL. Но почему? Что вы на самом деле пытаетесь достичь? Вы должны задать этот вопрос вместо того, чтобы спрашивать, как решить эту проблему именно этим способом. –
Я использую Microsoft SQL 2005 – sonicbabbler