SQL一个带参数的存储过程写法

来源:百度知道 编辑:UC知道 时间:2024/09/23 13:00:36
CREATE PROCEDURE getnews AS
select top 10 * from yx_news order by news_updateTime DESC
GO
上面是一个查询存储过程没带参数,我想将那个输出10条做为参数,别的程序
调用的时候可以自定义输出条数.
不知道到怎么写.第一次接触不太清楚,希望有大家能帮我下,谢谢
一楼大哥,能不能写清楚点,我没看懂我是新手额,照顾下拉

这个..呵呵.第一次就提出一个难的..

如果是一般的参数好办些.

CREATE PROC getnews
@num varchar(10)
as
declare @str varchar(200)
set @str='select top '+@num+' from yx_news order by news_update time desc'
exec(@str)
go

你这个不要用返回参数的形式,直接返回记录集就行了,存储过程就象你这样写,不用作任何改动。然后程序里用
<%
...数据库连接
Dim gcSQL : gcSQL = "getnews "
Dim rs : Set rs = conn.execute(gcSQL)
if not rs.eof then
...
else
...
end if
rs.close
%>

CREATE OR REPLACE PROCEDURE 名字(
DATA IN VARCHAR2
)
IS
v_count NUMBER;
BEGIN
。。。
exception
。。。
end;

你的这个做法没有意义,一般存储过程主要是针对sql语句执行效率低和数据完整性等来说的,你用这种方法就单单为了查询一个表中的TOP信息,这样与存储过程的有点恰恰相反,因为这个方法实现存储过程中取出你所要的信息,同是也能用同样的方法更简便的从表中取出你要的信息