it-swarm.com.de

Beispiele für SQL-Kommentarheader

Ich würde gerne auch sehen, wie die gespeicherten Prozeduren/Funktionen usw. der Kopfzeilen von Kommentaren aussehen (also posten Sie Ihre Beispiele). die Formatierung, verwendete Zeichen, Prozedurinformationen/Details usw. Ich denke, was unterscheidet sie wirklich ...

Kommentar-Header für gespeicherte Prozedur von SQL Server Management Studio (Version 9):

-- =============================================
-- Author:      Name
-- Create date: 
-- Description: 
-- =============================================
55
davidsleeps

Kann ich darauf hinweisen, dass all diese Felder "Änderungsverlauf" und "Änderungsdatum" von Ihrer Versionskontrollsoftware abgerufen werden können und sollten, anstatt vom Programmierer in den Code eingebettet zu werden. Dies ist ein Nachteil, den C-Programmierer (zum Beispiel) vor langer Zeit gelernt haben.

48
anon
/******************************
** File:    
** Name:
** Desc:
** Auth:
** Date:
**************************
** Change History
**************************
** PR   Date        Author  Description 
** --   --------   -------   ------------------------------------
** 1    01/10/2008      Dan      added  inner join
*******************************/
39
Hagai L
--
-- STORED PROCEDURE
--     Name of stored procedure.
--
-- DESCRIPTION
--     Business description of the stored procedure's functionality.
--
-- PARAMETERS
--     @InputParameter1
--         * Description of @InputParameter1 and how it is used.
--
-- RETURN VALUE
--         0 - No Error.
--     -1000 - Description of cause of non-zero return value.
--
-- PROGRAMMING NOTES
--     Gotchas and other notes for your fellow programmer.
--
-- CHANGE HISTORY
--     05 May 2009 - Who
--        * More comprehensive description of the change than that included with the
--          source code commit message.
--
18
Convict

Wir benutzen so etwas und sehr nützlich für mich.

/*  
Description:   
Author:   
Create Date: 
Param:   
Return:   
Modified Date:  
Modification:   
*/  
9
KuldipMCA
-------------------------------------------------------------------------------
-- Author       name
-- Created      date
-- Purpose      description of the business/technical purpose
--              using multiple lines as needed
-- Copyright © yyyy, Company Name, All Rights Reserved
-------------------------------------------------------------------------------
-- Modification History
--
-- 01/01/0000  developer full name  
--      A comprehensive description of the changes. The description may use as 
--      many lines as needed.
-------------------------------------------------------------------------------
6
Jay
-- [why did we write this?]
-- [auto-generated change control info]
5
Jeffrey Kemp
set timing on <br>
set linesize 180<br>
spool template.log

/*<br>
##########################################################################<br>
-- Name : Template.sql<br>
-- Date             : (sysdate) <br>
-- Author           :   Duncan van der Zalm - dvdzalm<br>
-- Company          :   stanDaarD-Z.nl<br>
-- Purpose          :   <br>
-- Usage        sqlplus <br>
-- Impact   :<br>
-- Required grants  :   sel on A, upd on B, drop on C<br>
-- Called by        :   some other process<br
##########################################################################<br>
-- ver  user    date        change  <br>
-- 1.0  DDZ 20110622    initial<br>
##########################################################################<br>
*/<br>

sho user<br>

select name from v$database;

select to_char(sysdate, 'Day DD Month yyyy HH24:MI:SS') "Start time"
from dual
;


-- script


select to_char(sysdate, 'Day DD Month yyyy HH24:MI:SS') "End time"
from dual
;

spool off
5
Duncan

Ich weiß, dass dieser Beitrag uralt ist, aber gut formatierter Code ist nie aus der Mode gekommen.

Ich verwende diese Vorlage für alle meine Verfahren. Einige Leute mögen keinen verbalen Code und keine Kommentare, aber als jemand, der häufig gespeicherte Prozeduren, die seit Mitte der 90er Jahre nicht berührt wurden, aktualisieren muss, kann ich Ihnen den Wert eines gut formatierten und stark kommentierten Codes erklären. Viele wurden so knapp wie möglich geschrieben, und es kann manchmal Tage dauern, bis die Absicht eines Verfahrens verstanden wird. Es ist leicht zu erkennen, was ein Codeblock durch einfaches Lesen tut, aber es ist viel schwieriger (und manchmal unmöglich), die Absicht des Codes zu verstehen, ohne dass er dazu kommentiert wird.

Erklären Sie es so, als würden Sie einen jungen Entwickler durchlaufen. Nehmen wir an, die lesende Person weiß wenig oder gar nichts über den zu adressierenden Funktionsbereich und hat nur ein begrenztes Verständnis von SQL. Warum? Oft müssen sich die Benutzer Verfahren ansehen, um sie zu verstehen, auch wenn sie keine Absicht haben, sie zu verändern.

/***************************************************************************************************
Procedure:          dbo.usp_DoSomeStuff
Create Date:        2018-01-25
Author:             Joe Expert
Description:        Verbose description of what the query does goes here. Be specific and don't be
                    afraid to say too much. More is better, than less, every single time. Think about
                    "what, when, where, how and why" when authoring a description.
Call by:            [schema.usp_ProcThatCallsThis]
                    [Application Name]
                    [Job]
                    [PLC/Interface]
Affected table(s):  [schema.TableModifiedByProc1]
                    [schema.TableModifiedByProc2]
Used By:            Functional Area this is use in, for example, Payroll, Accounting, Finance
Parameter(s):       @param1 - description and usage
                    @param2 - description and usage
Usage:              EXEC dbo.usp_DoSomeStuff
                        @param1 = 1,
                        @param2 = 3,
                        @param3 = 2
                    Additional notes or caveats about this object, like where is can and cannot be run, or
                    gotchas to watch for when using it.
****************************************************************************************************
SUMMARY OF CHANGES
Date(yyyy-mm-dd)    Author              Comments
------------------- ------------------- ------------------------------------------------------------
2012-04-27          John Usdaworkhur    Move Z <-> X was done in a single step. Warehouse does not
                                        allow this. Converted to two step process.
                                        Z <-> 7 <-> X
                                            1) move class Z to class 7
                                            2) move class 7 to class X

2018-03-22          Maan Widaplan       General formatting and added header information.
2018-03-22          Maan Widaplan       Added logic to automatically Move G <-> H after 12 months.
***************************************************************************************************/

Zusätzlich zu diesem Header sollte Ihr Code gut kommentiert und von oben nach unten skizziert sein. Hinzufügen von Kommentarblöcken zu den wichtigsten Funktionsbereichen wie:

/***********************************
**  Process all new Inventory records
**  Verify quantities and mark as
**  available to ship.
************************************/

Fügen Sie zahlreiche Inline-Kommentare hinzu, die alle Kriterien mit Ausnahme der einfachsten erläutern, und formatieren Sie Ihren Code IMMER, um ihn lesbar zu machen. Lange vertikale Seiten von eingerückten Codes sind besser als breite, kurze Seiten und machen es viel einfacher zu erkennen, wo Codeblöcke Jahre später beginnen und enden, wenn eine andere Person Ihren Code unterstützt. Manchmal ist breiter, nicht eingerückter Code besser lesbar. Wenn ja, verwenden Sie das, aber nur wenn nötig.

UPDATE Pallets
SET class_code = 'X'
WHERE
    AND class_code != 'D'
    AND class_code = 'Z' 
    AND historical = 'N'
    AND quantity > 0
    AND GETDATE() > DATEADD(minute, 30, creation_date)
    AND pallet_id IN ( -- Only update pallets that we've created an Adjustment record for
        SELECT Adjust_ID
        FROM Adjustments
        WHERE
            AdjustmentStatus = 0
            AND RecID > @MaxAdjNumber
4
Nick Fotopoulos

Der Header, den wir aktuell verwenden, sieht so aus:

---------------------------------------------------
-- Produced By   : Our company  
-- URL       : www.company.com  
-- Author        : me   
-- Date      : yesterday    
-- Purpose       : to do something  
-- Called by     : some other process   
-- Modifications : some other guy - today - to fix my bug   
------------------------------------------------------------

Bei einer Randnotiz verwende ich für Kommentare, die ich in SQL schreibe, immer das Format:

/* Kommentar */

Wie in der Vergangenheit hatte ich Probleme, wo das Scripting (von SQL Server) lustige Dinge macht, die Zeilen umwickeln und Kommentare starten - und die erforderliche SQL auskommentiert haben.

2
Iain Hoult

Prüfen Sie, ob dies zu Ihrer Anforderung passt:

/*

  • Notes on parameters: Give the details of all parameters supplied to the proc

  • This procedure will perform the following tasks: Give details description of the intent of the proc

  • Additional notes: Give information of something that you think needs additional mention, though is not directly related to the proc

  • Modification History: 07/11/2001 ACL TICKET/BUGID CHANGE DESCRIPTION

*/

1
Atul

Hier ist was ich gerade benutze. Der dreifache Kommentar (/ */*/*) bezieht sich auf eine Integration, die Kopfkommentare aus der Objektdefinition entnimmt.

/*/*/*

    Name:           pr_ProcName
    Author:         Joe Smith
    Written:        6/15/16
    Purpose:        Short description about the proc.

    Edit History:   6/15/16 - Joe Smith
                        + Initial creation.
                    6/22/16 - Jaden Smith
                        + Change source to blahblah
                        + Optimized JOIN
                    6/30/16 - Joe Smith
                        + Reverted changes made by Jaden.

*/*/*/
0
chazbot7

Hier ist meine bevorzugte Variante:

/* =====================================================================
DESC:   Some notes about what this does
           tabbed in if you need additional lines
NOTES:  Additional notes
           tabbed in if you need additional lines
======================================================================== */
0
tviscon2
-- Author: 
--
-- Original creation date: 
--
-- Description: 
0
Calmar