我有问题需要知道任何存储过程的列作为参数传递给另一个存储过程。但无论如何我没有得到任何结果。确定动态存储过程的列。 SQL Server
ALTER PROCEDURE getColumnsTable
(@tableColumnsNames nvarchar(45))
AS
BEGIN
DECLARE @TSQL varchar(100)
SET @TSQL = 'select * into #TablaTemporal FROM OPENQUERY(MyServerConnection, ''EXEC '+ @tableColumnsNames +''');'
EXEC (@TSQL)
SELECT COLUMN_NAME
FROM tempdb.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME like '%#TablaTemporal%'
IF EXISTS (SELECT * FROM tempdb.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME like '%#TablaTemporal%')
BEGIN
DROP TABLE #TablaTemporal
END
END
这是存储过程我想读
ALTER PROCEDURE MyProcTest
AS
BEGIN
SET NOCOUNT ON;
SELECT
c.idCliente, f.idFactura
FROM
Cliente c
INNER JOIN
Factura f ON (c.idCliente = f.idCliente)
WHERE
1 = 2
END
我想从一个简单的
EXEC getColumnsTable @tableColumnsNames = N'MyProcTest'
获得
COLUMN_NAME
idCliente
idFactura
这是可能的?我还没有找到解决方案。
波恩使用http://es.stackoverflow.com/ si quiere usar espanol。 –
英文!!谢谢!! –