我来自SQL Server后台,在存储过程中使用/鼓励使用'@'符号。这很有用,因为您可以轻松查看列是什么以及值是什么。例如。
CREATE PROCEDURE Foo
@Bar VARCHAR(10),
@Baz INT
AS
BEGIN
INSERT INTO MyTable (
Bar,
Baz)
VALUES (
@Bar,
@Baz)
END
我知道我可以使用序数位置,但是我们的一些存储过程有20个左右的参数,并且命名参数使它更易读IMO。
PostgreSQL社区是否有某种约定用于前缀?我试图找出确切的命名参数的规则,但我的谷歌搜索没有产生任何东西。
答案 0 :(得分:7)
参数标识符遵循与其他标识符相同的规则:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
http://www.postgresql.org/docs/current/static/xfunc-sql.html#XFUNC-SQL-FUNCTION-ARGUMENTS
通常使用下划线_
启动参数标识符,我认为它有意义,尽管它不是惯例。
通过使用函数名称
限定标识符,也可以避免歧义my_funtion.my_parameter