SHOW PROCEDURES
使用 SHOW PROCEDURES 可以列出可用的过程(procedures)。
|
命令 |
此命令将生成一个包含以下列的表格:
| 列 | 描述 | 类型 |
|---|---|---|
|
过程的名称。默认输出 |
|
|
过程的描述。默认输出 |
|
|
过程模式,例如 |
|
|
该过程是否可以在 |
|
|
过程的签名。 |
|
|
过程参数列表,作为由字符串和布尔值组成的映射(map),包含 |
|
|
过程的返回值列表,作为由字符串和布尔值组成的映射,包含 |
|
|
如果此过程是管理过程,则为 |
|
|
允许执行此过程的角色列表。如果没有 |
|
|
允许在执行此过程时使用提升模式(boosted mode)的角色列表。如果没有 |
|
|
该过程是否已弃用。 |
|
|
如果已弃用,则为建议使用的替代过程;否则为 |
|
|
额外输出的映射,例如当该过程已弃用时。 |
|
过程的弃用信息会同时在 isDeprecated 和 option 列中返回。
语法
|
有关语法说明的更多详情,可查看 此处。 |
- 列出所有过程
SHOW PROCEDURE[S]
[YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
|
使用 |
- 列出当前用户可执行的过程
SHOW PROCEDURE[S] EXECUTABLE [BY CURRENT USER]
[YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
|
使用 |
- 列出指定用户可执行的过程
SHOW PROCEDURE[S] EXECUTABLE BY username
[YIELD { * | field[, ...] } [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
[WHERE expression]
[RETURN field[, ...] [ORDER BY field[, ...]] [SKIP n] [LIMIT n]]
需要 SHOW USER 权限。此命令不适用于 LDAP 用户。
|
使用 |
列出所有过程
要使用默认输出列列出所有可用过程,可以使用 SHOW PROCEDURES 命令。如果需要所有列,请使用 SHOW PROCEDURES YIELD *。
SHOW PROCEDURES
| 名称 (name) | description(描述) | mode | worksOnSystem |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
行数:15 |
|||
上表仅显示了查询的前 15 个结果。有关 Neo4j 中所有内置过程的完整列表,请访问 Operations Manual → Procedures。
列出过程并按输出列过滤
可以通过多种方式过滤列出的过程,其中一种是使用 WHERE 子句。例如,返回所有 admin 过程的名称:
SHOW PROCEDURES YIELD name, admin
WHERE admin
| 名称 (name) | admin |
|---|---|
|
|
|
|
|
|
|
|
|
|
行:5 |
|
上表仅显示了查询的前 5 个结果。有关 Neo4j 中所有需要 admin 权限的过程的完整列表,请访问 Operations Manual → Procedures。
使用其他方式过滤过程
列出的过程也可以根据用户是否可以执行它们进行过滤。此过滤功能只能通过 EXECUTABLE 子句使用,不能通过 WHERE 子句使用。这是因为它是基于用户的权限进行判断,而不是基于可用输出列进行过滤。
使用 EXECUTABLE 子句有两个选项。第一个选项是过滤当前用户:
SHOW PROCEDURES EXECUTABLE BY CURRENT USER YIELD *
| 名称 (name) | description(描述) | rolesExecution | rolesBoostedExecution | … |
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
行数:15 |
||||
上表仅显示了查询的前 15 个结果。注意,由于缺少 SHOW ROLE 权限,两个 roles 列为空。另请注意,以下列不在表中:
-
mode -
worksOnSystem -
签名 -
argumentDescription -
returnDescription -
admin -
isDeprecated -
deprecatedBy -
选项 (options)
使用 EXECUTABLE 子句的第二个选项是将列表过滤为仅包含特定用户可执行的过程。下例展示了用户 jake 可用的过程,该用户已被数据库管理员授予了 EXECUTE PROCEDURE dbms.* 权限。(有关 DBMS EXECUTE 权限管理的更多信息,请参阅 Operations Manual → The DBMS EXECUTE privileges)。
SHOW PROCEDURES EXECUTABLE BY jake
| 名称 (name) | description(描述) | mode | worksOnSystem |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
行数:13 |
|||