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

CREATEPROCEDUREgetnewsASselecttop10*fromyx_newsorderbynews_updateTimeDESCGO上面是一个查询存储过... CREATE PROCEDURE getnews AS
select top 10 * from yx_news order by news_updateTime DESC
GO
上面是一个查询存储过程没带参数,我想将那个输出10条做为参数,别的程序
调用的时候可以自定义输出条数.
不知道到怎么写.第一次接触不太清楚,希望有大家能帮我下,谢谢
一楼大哥,能不能写清楚点,我没看懂我是新手额,照顾下拉
展开
 我来答
朋文玉邬鹃
2019-06-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:1051万
展开全部
你这个不要用返回参数的形式,直接返回记录集就行了,存储过程就象你这样写,不用作任何改动。然后程序里用
<%
...数据库连接
Dim
gcSQL
:
gcSQL
=
"getnews
"
Dim
rs
:
Set
rs
=
conn.execute(gcSQL)
if
not
rs.eof
then
...
else
...
end
if
rs.close
%>
百度网友6cf810b68
推荐于2017-11-26 · TA获得超过946个赞
知道大有可为答主
回答量:1403
采纳率:0%
帮助的人:1519万
展开全部
这个..呵呵.第一次就提出一个难的..

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

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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzp4881
2008-11-14 · TA获得超过2394个赞
知道大有可为答主
回答量:2825
采纳率:0%
帮助的人:2983万
展开全部
你这个不要用返回参数的形式,直接返回记录集就行了,存储过程就象你这样写,不用作任何改动。然后程序里用
<%
...数据库连接
Dim gcSQL : gcSQL = "getnews "
Dim rs : Set rs = conn.execute(gcSQL)
if not rs.eof then
...
else
...
end if
rs.close
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfaa21593
2008-11-14 · TA获得超过424个赞
知道答主
回答量:449
采纳率:0%
帮助的人:0
展开全部
你的这个做法没有意义,一般存储过程主要是针对sql语句执行效率低和数据完整性等来说的,你用这种方法就单单为了查询一个表中的TOP信息,这样与存储过程的有点恰恰相反,因为这个方法实现存储过程中取出你所要的信息,同是也能用同样的方法更简便的从表中取出你要的信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
8403161215
2008-11-14 · TA获得超过1655个赞
知道小有建树答主
回答量:831
采纳率:0%
帮助的人:544万
展开全部
CREATE OR REPLACE PROCEDURE 名字(
DATA IN VARCHAR2
)
IS
v_count NUMBER;
BEGIN
。。。
exception
。。。
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式