我有一个存储过程MyProcedure
需要int
作为参数,现在我需要将另一个表中的int列作为参数传递给过程。我怎么写一个声明来实现呢?出于某些原因,我无法在代码中使用游标。下面是我的伪代码。感谢。
Create Procedure MyProcedure
@i_input INT
AS
... ...
create table MyTable
(
id int,
otherdata float
)
exec MyProcedure (select id from MyTable)
答案 0 :(得分:0)
寻找功能,因为您无法通过DML / DDL运行程序
CREATE TABLE MyResult
(
id INT,
results VARCHAR(MAX)
)
Go
CREATE FUNCTION MyFunction(@i_input INT)
RETURNS TABLE
AS RETURN
(
SELECT @i_input AS ID, 'result1' AS results
)
Go
INSERT INTO MyResult SELECT * FROM MyFunction(1)
答案 1 :(得分:0)
你可以这样做
Create Procedure MyProcedure
@i_input INT
AS
... ...
create table MyTable
(
id int,
otherdata float
)
Declare @temp_id int
select @temp_id =id from MyTable
exec MyProcedure @temp_id