请问如何在SQL Server中创建存储过程的子程序?
我在Oracle中有一个存储过程,在该过程中调用了同一过程内的子程序达50次,而这些调用位于不同行。现在我想在SQL Server中重新创建该过程。你能否告诉我如何实现这个功能?
请问如何在SQL Server中创建存储过程的子程序?
我在Oracle中有一个存储过程,在该过程中调用了同一过程内的子程序达50次,而这些调用位于不同行。现在我想在SQL Server中重新创建该过程。你能否告诉我如何实现这个功能?
SELECT *
FROM myFunction(@UserID) as f
INNER JOIN users AS u ON f.UserID = u.ID
标量函数可以放在查询的SELECT
部分。
SELECT u.ID, myFunction(u.ID)
FROM users as u
公共表达式对于可读性很好:
;WITH MyCTP AS
(
// complex SQL
)
SELECT *
FROM myTable INNER JOIN MyCTP ON...
在SELECT语句之前,您可以有多个CTE,但只能在声明它们的语句中使用它们。
存储过程
它们有点麻烦,因为您需要将结果捕获到变量中,以便在调用存储过程中使用它们。
DECLARE @Input INT
DECLARE @Result INT
EXEC myStoredProcedure @Input, @Result OUT