SQL Server中如何写存储过程返回符合条件的一条纪录(100分)

  • 主题发起人 主题发起人 devuser
  • 开始时间 开始时间
create procedre StoredProc
@parm1 DataType,
@parm2 DataType,
@parm3 DataType
as
Select aa1,aa2, .., aan from table where clum1=@parm1 and clum2 like parm2
等,条件可以随便写。
 
DROP PROC spTEST
GO

CREATE PROC spTEST
@PARAM1 INT
,@PARAM2 VARCHAR(10)
--更多的条件
AS
--列出你要返回的字段表,并且,类型要与表中字段类型一致
DECLARE @F1 INT
,@F2 VARCHAR(10)
BEGIN
DECLARE #TEMP1 SCROLL CURSOR
FOR
SELECT F1,F2 --与列出的字段表相一致的字段表
FROM A_TABLE
WHERE F1=@PARAM1 AND F2=@PARAM2 --更多的条件
OPEN #TEMP1
FETCH #TEMP1 INTO @F1,@F2
CLOSE #TEMP1
DEALLOCATE #TEMP1

SELECT @F1,@F2
END
 
给你一个我写过的,稍微复杂点,希望有帮助
CREATE PROCEDURE wls_no_log_id
@now_id varchar(20)--提交人ID
if datepart(dw,getdate())=2 begin---是周六则
select old_date=submit_date,his_date=(select max(submit_date) from log where em_id=@now_id)
from log
where @now_id not in
(select em_id
from log
where em_id=@now_id and datediff(day,submit_date,getdate())=3)
order by submit_date desc
end
...................//其余就不多写了,呵呵
 
如果只是返回一条记录的话:
create test_proc
(@t_id int input,@memo nvarchar(100) output )
as
select @memo=(select top 1 memo from tab_test where test_id=@t_id)

接收到@memo就行了。
 
同意楼上的
 
同意sportsman
 
同意sportsman的,如果只返回一条记录,这应该是最简单明了的了
 
多人接受答案了。
 
后退
顶部