以下是我的存储过程代码:
CREATE TYPE my_table AS TABLE (
rowID int,
fromTable varchar(40),
tableRow int,
fromRange varchar(10),
toRange int
)
USE TestDB;
GO
IF OBJECT_ID('table_parameter_sample_proc') IS NOT NULL
DROP PROCEDURE table_parameter_sample_proc;
go
CREATE PROCEDURE table_parameter_sample_proc (
@datasource my_table READONLY)
AS
SELECT
rowID,fromTable,tableRow,fromRange,toRange
FROM @datasource
GO
它工作正常。这就是我所说的:
DECLARE @datasource AS my_table
INSERT @datasource (rowID, fromTable,tableRow,fromRange,toRange)
VALUES
(1, 'TableA',2,'3',5),
(2, 'TableB',3,'y',null),
(3, 'TableC',4,'5',10)
EXEC table_parameter_sample_proc @datasource
当我调用存储过程它返回整个表,但我需要单独访问值,例如我只需要值'tableA'(table [row] [column])。当我写作
SELECT fromTable[0] FROM @datasource
它给了我fromTable列的所有值,fromTable [0] [0]不起作用。 这是什么解决方案? 提前谢谢。