【问题标题】:Stored Procedure Writing [closed]存储过程编写[关闭]
【发布时间】:2014-08-10 03:13:45
【问题描述】:

我是 SQL Server 新手,我想编写一个存储过程。

我有三个参数PAN_No、PolicyNo 和ClientID 用于从具有一个公共列ClientID 的2 个不同表中搜索详细信息。

Client_details 表有列ClientID、PAN_NO 和Contract_Details 表有列ClientID、PolicyNo、DOB。

如果我要使用PAN_NO 或PolicyNo 搜索,我想显示所有详细信息。

【问题讨论】:

  • Stack Overflow 不是代码编写服务。另外,我没有看到任何问题
  • -2 down vote 我是 SQL 新手,想创建一个存储过程。我有三个参数 PAN_No、PolicyNo 和 ClientID 来从 2 个不同的表中搜索一个具有一个公共列 ClientID 的详细信息。具有 ClientID、PAN_NO 的 Client_ details 表和具有 ClientID、PolicyNo、DOB 列的 Contract_Details 表。如果我将使用 PAN_NO 或 PolicyNo 进行搜索,我想显示所有详细信息。
  • @user3756872:我认为您不需要在评论中再次重复整个问题。请阅读How do I ask a good question?。投反对票可能是因为,你没有表现出任何努力来解决这个问题!
  • @user3756872:但是,“开发代码”给出了一段公平的代码作为答案,您可以开始!

标签: sql sql-server sql-server-2005 stored-procedures


【解决方案1】:

不知道你到底是什么意思,但是

CREATE PROCEDURE usp_PocedureName --give proper procedure name
    @PAN_No int, -- not sure what the exact data types
    @PolicyNo int,
    @ClientID int
AS
    SELECT 
        Column1, Column2, Column3 -- Select whatever the columns you need
    FROM
        Client_ details Client
    INNER JOIN
        Contract_Details Contract ON Contract.ClientID = Client.ClientID
    WHERE
        Client.ClientID = @ClientID 
      AND (PAN_No=@PAN_No OR PolicyNo =@PolicyNo)

更新

作为一个逻辑,你可以在不使用参数搜索时传递一个默认值

在这种情况下,我们可以使用 0

所以

 SELECT
     Column1, Column2, Column3 -- Select whatever the columns you need
 FROM
     Client_ details Client
 INNER JOIN
     Contract_Details Contract ON Contract.ClientID = Client.ClientID
 WHERE
     Client.ClientID = @ClientID 
     AND (@PAN_No > 0 AND PAN_No = @PAN_No) OR 
         (@PolicyNo > 0 AND PolicyNo = @PolicyNo)

所以当只有>0 的值和@PolicyNo 相同时,这将通过@PAN_No 进行搜索

【讨论】:

  • 请解释反对意见?
  • 亲爱的开发代码..感谢您的支持...
  • 你能告诉我是否要使用 PAN-NO 或 PolicyNo 搜索详细信息...因为这两个在不同的表中,只有 ClientID 是两个表中的公共列。
  • @user3756872:您一次只需要搜索其中一个吗?
  • ..是的,你是对的..我想一次只搜索其中一个..这就是为什么我无法完成查询...
猜你喜欢
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 2018-12-28
相关资源
最近更新 更多