繁体   English   中英

存储过程和 SQL Server

[英]Stored Procedures & SQL Server

我正在 SQL Server 中进行一些修订,我有一个我正在尝试解决的问题,我打算创建一个存储过程,显示分支名称、书籍代码和手头数量的所有详细信息,存储过程采用名为@BranchName参数。 我还打算使用EXEC用参数值调用此过程。

到目前为止,这是我的声明(我知道这是错误的并且由于某种原因不起作用,我无法解决)

CREATE PROCEDURE BranchDetails
    SELECT 
        B.BookCode, BR.BranchName, I.OnHand
    FROM 
        BOOK, BRANCH, INVENTORY
    WHERE 
        BranchName = 'BookCode'

MSSQL 语法

-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
    -- Add the parameters for the stored procedure here
    <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
    <@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 <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO

解决您的问题。

CREATE PROCEDURE BranchDetails @BranchCode varchar(20)
as 
BEGIN

SELECT B.BookCode, BR.BranchName, I.OnHand
FROM BOOK, BRANCH, INVENTORY
WHERE BranchCode = @BranchCode

END

执行

exec BranchDetails 'Disneyland'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM