我有存储过程,例如:
EXEC [dbo].[HowOldAmI] @date
我现在有多个日期(@dates列表),我想在
上运行存储过程有没有办法在select语句的结果上运行存储过程?
答案 0 :(得分:1)
存储过程用于封装一些业务逻辑,但是当你想进行一些计算时,可以使用函数,因为它们可以与select语句一起使用。所以,在存储过程中将逻辑重写为函数:
CREATE FUNCTION HowOldAmI (@date datetime)
RETURNS int AS
BEGIN
-- logic goes here
END
然后选择查询:
SELECT * ,
HowOldAmI (T1.[date])
FROM
[Table1] T1
答案 1 :(得分:0)
如果您创建的是函数而不是过程,则可以在select语句中调用它。否则,您将不得不创建一个游标并循环结果。