postgresql存储过程中参数的命名约定

postgresql存储过程中参数的命名约定,postgresql,stored-procedures,parameters,Postgresql,Stored Procedures,Parameters,postgres中存储过程的参数是否有命名约定?我想将我的参数与我的列名区分开来,以便更容易阅读,因此学生id(列)=s_id(参数)、句点(列)=per(参数名)、作业(列)=asgmt(参数)等等 没有既定的惯例,但我看到了两个共同的主题。但首先,不要截断参数名,这实际上使阅读和理解它们变得更困难;也要将它们对齐,而不仅仅是将它们串起来。最常见的方法是将参数首选为p_。另一个是将参数的用法作为后缀添加到_in或_ot示例: CREATE PROCEDURE insert_assign

postgres中存储过程的参数是否有命名约定?我想将我的参数与我的列名区分开来,以便更容易阅读,因此学生id(列)=s_id(参数)、句点(列)=per(参数名)、作业(列)=asgmt(参数)等等


没有既定的惯例,但我看到了两个共同的主题。但首先,不要截断参数名,这实际上使阅读和理解它们变得更困难;也要将它们对齐,而不仅仅是将它们串起来。最常见的方法是将参数首选为p_。另一个是将参数的用法作为后缀添加到_in或_ot
示例:

CREATE PROCEDURE 
   insert_assignment(p_student_id INT, p_period INT, p_cl VARCHAR(50), p_ln VARCHAR(50), p_sped_id INT, p_assignment VARCHAR(500))
LANGUAGE SQL ...

or 

CREATE PROCEDURE  
   insert_assignment(student_id_in INT, 
                     period_in INT,
                     cl_in VARCHAR(50),
                     ln_in VARCHAR(50), 
                     sped_id_in INT,
                     assignment_in VARCHAR(500)
                    )
    LANGUAGE SQL ... 

不确定cl,ln,因为你没有使用它们。至于sepd,如果它在您的组织中普遍使用,那么它就可以了(IMHO),否则它是一个糟糕的名字。理解你的主要目标,而不是少打字。(这是一位非常差劲的打字员写的)

似乎没有一个公认的惯例。到目前为止,我发现的最接近的事情是,请随意建立您自己的约定。中的后缀_和_ot代表什么?表示参数的用法。Exp.User\u name as IN参数将是User\u name\u IN;OUT参数将是user\u name\u ot;作为INOUT参数,将是user\u name\u io。
CREATE PROCEDURE 
   insert_assignment(p_student_id INT, p_period INT, p_cl VARCHAR(50), p_ln VARCHAR(50), p_sped_id INT, p_assignment VARCHAR(500))
LANGUAGE SQL ...

or 

CREATE PROCEDURE  
   insert_assignment(student_id_in INT, 
                     period_in INT,
                     cl_in VARCHAR(50),
                     ln_in VARCHAR(50), 
                     sped_id_in INT,
                     assignment_in VARCHAR(500)
                    )
    LANGUAGE SQL ...