SQL Server:存储过程相关
Posted
技术标签:
【中文标题】SQL Server:存储过程相关【英文标题】:SQL Server: stored procedure related 【发布时间】:2011-03-23 17:04:38 【问题描述】:我有两个输入参数shopid
和categoryid
我想为categoryproductlist
创建一个存储过程,用于显示与categoryid
相关的产品。我有一个表 product
与列 productid , shopid , title
我有一个表 category
与列 shopid,title,logical code, categoryid
谁能告诉我如何使用这些输入参数为categoryproductlist
编写存储过程?
【问题讨论】:
我是存储过程的新手 您使用的是哪个数据库 - 标题中的 SQL 服务器?如果您可以编写 select 语句,那么您可以轻松地将其转换为存储过程或函数 - 您可以为此编写 select 吗? 您需要将 CategoryID 列添加到 Products 表中,除非您通过 ShopID 关联它们。否则,将假定所有产品都属于所有类别。 我有另一个名为 tblcategoryproduct 的表,其中包含 categoryproductid 、 categoryid 、 productid 列 请帮助我写这个存储过程我真的很困惑 【参考方案1】:试一试:
CREATE PROCEDURE p_CategoryProductList
@CategoryID INT
@ShopID INT
AS
SELECT
c.itle as CategoryTitle,
c.[logical code],
p.title as ProductTitle
FROM Product p
INNER JOIN tblcategoryproduct cp on p.ProductID=cp.ProductID
INNER JOIN Category c on c.CategoryID=cp.CategoryID
WHERE c.ShopID=@ShopID
AND c.CategoryID=@CategoryID
【讨论】:
我永远不会在存储过程中使用SELECT *
- 拼出你要返回的列 - 这样就减少了令人讨厌的惊喜!
@marc_s 好的,谢谢。我只是把它扔在那里,忘了更新。我会解决的。以上是关于SQL Server:存储过程相关的主要内容,如果未能解决你的问题,请参考以下文章