Tsql 如何从存储过程返回要在C数据读取器中使用的临时表?
我有下面的存储过程T-SQL,我想用C代码中的command.ExecuteReader调用它,这样我就可以循环处理引发的任何错误,或者直接从SQL调用它 但是,我不知道如何返回临时表-我只返回了0Tsql 如何从存储过程返回要在C数据读取器中使用的临时表?,tsql,stored-procedures,sqldatareader,Tsql,Stored Procedures,Sqldatareader,我有下面的存储过程T-SQL,我想用C代码中的command.ExecuteReader调用它,这样我就可以循环处理引发的任何错误,或者直接从SQL调用它 但是,我不知道如何返回临时表-我只返回了0 CREATE PROCEDURE validate AS BEGIN DECLARE @ValidationResults TABLE ROWNUM int, ATP varchar(max), ATD varchar(max), ERROR varchar(max) ) S
CREATE PROCEDURE validate
AS
BEGIN
DECLARE @ValidationResults TABLE
ROWNUM int,
ATP varchar(max),
ATD varchar(max),
ERROR varchar(max)
)
SET NOCOUNT ON;
INSERT INTO @ValidationResults
SELECT ROWNUM, ATP, ATD, 'ATP must be two characters'
FROM cb with (TABLOCKX)
WHERE LEN(ATP) <> 2
RETURN SELECT * FROM @ValidationResults
END
GO
不使用return,只需从@ValidationResults中选择行。可以帮助您从存储过程中获取数据
是另一篇有用的文章向我们展示读取数据的C代码!啊!多么简单-我假设要返回数据,您需要返回一些东西!lol数据阅读器不是真正的问题,因为现在它只是一个存储过程而不是一个选择。