索引创建中的 case 语句
case statement in index creation
创建 UNIQUE INDEX 时如何使用 CASE 语句?
我的声明是这样的
CREATE UNIQUE INDEX my_unique_creation
ON junk ((CASE
WHEN nlevel(path) > 1 THEN (subpath(path, 0, -1), name)
ELSE (path, name) END))
WHERE my_col IS NULL;
这在以下行失败:
pq: column "" has pseudo-type record
CASE
应该只是 return 一个列,而不是一个元组 ("record")。
CREATE UNIQUE INDEX my_unique_creation
ON junk ((CASE
WHEN nlevel(path) > 1 THEN subpath(path, 0, -1)
ELSE path
END), name)
WHERE my_col IS NULL;
创建 UNIQUE INDEX 时如何使用 CASE 语句?
我的声明是这样的
CREATE UNIQUE INDEX my_unique_creation
ON junk ((CASE
WHEN nlevel(path) > 1 THEN (subpath(path, 0, -1), name)
ELSE (path, name) END))
WHERE my_col IS NULL;
这在以下行失败:
pq: column "" has pseudo-type record
CASE
应该只是 return 一个列,而不是一个元组 ("record")。
CREATE UNIQUE INDEX my_unique_creation
ON junk ((CASE
WHEN nlevel(path) > 1 THEN subpath(path, 0, -1)
ELSE path
END), name)
WHERE my_col IS NULL;