我是创建存储过程。执行时没有错误但没有返回任何值,请给我建议
问题描述:
<pre>-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE Tms_User_Login
-- Add the parameters for the stored procedure here
@ntlg varchar(50)
---<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
select PROCESS_NAME FROM TF_PROCESS_MASTER WHERE PROCESS_ID=(select PROCESS_ID FROM TF_PROJECT_MASTER WHERE PROJECT_ID=(select PROJECT_ID FROM TF_ASSOCIATE_LEVEL WHERE SYSTEM_LOGIN_ID='@ntlg' ))
END
GO
答
这里你没有使用@ntlg
作为参数,而不是像字符串一样使用它。所以,删除单引号并尝试如下...
Here you have not used the@ntlg
as a parameter, rather you have used it like a string. So, remove the single quotes and try like below...
SELECT PROCESS_NAME
FROM TF_PROCESS_MASTER
WHERE PROCESS_ID = (SELECT PROCESS_ID
FROM TF_PROJECT_MASTER
WHERE PROJECT_ID = (SELECT PROJECT_ID
FROM TF_ASSOCIATE_LEVEL
WHERE SYSTEM_LOGIN_ID = @ntlg)
)