none
stored procedure RRS feed

  • שאלה

  • שלום,

    כיצד באמצעות פרוצדורה אני יכול להביא מטבלת customers את מספר הלקוחות הקיימים.

    כלומר :

    select

    count(distinct Customer_id)

    from Customers

    ?

    תודה רבה

    איציק

    יום שישי 28 דצמבר 2012 18:24

תשובות

  • הי איציק,

    נראה לי שענית לעצמך על השאלה, אז כנראה שלא הבנתי את השאלה...

    אם השאלה היא איך מחזירים את הנתון כ-Output Parameter, אז הנה התשובה:

    CREATE PROCEDURE
    	YourSchema.usp_CountExistingCustomers
    (
    	@Result AS INT OUTPUT
    )
    AS
    
    SELECT
    	@Result = COUNT (DISTINCT Customer_Id)
    FROM
    	Customers;
    GO
    

    אם כבר אנחנו פה, אז יש לי שתי הערות:

    1. תמיד כדאי להקפיד לפנות לאוביקטים גם באמצעות ה-Schema שלהם ולא רק באמצעות שם האוביקט. לדוגמא: "Marketing.Customers" במקום "Customers". זה גם יותר קריא, זה גם יכול למנוע שגיאות במקרים מסוימים, וזה גם יכול לשפר את הביצועים של המערכת (לפעמים בצורה משמעותית).

    2. העמודה "Customer_Id" נשמעת כמו המפתח בטבלה. אם זה נכון, אז חבל לבצע DISTINCT, ועדיף פשוט לכתוב (*) COUNT.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    • הוצע כתשובה על-ידי pituachMVP, Editor שבת 29 דצמבר 2012 10:11
    • סומן כתשובה על-ידי Eran Sharvit יום רביעי 02 ינואר 2013 11:00
    שבת 29 דצמבר 2012 05:57
    מנחה דיון