DEFAULT nextval
时间: 2024-05-18 13:16:35 浏览: 14
DEFAULT nextval 是 PostgreSQL 数据库中用于生成序列的默认值。在创建表时,可以使用 DEFAULT nextval('sequence_name') 来设置某个列的默认值为序列的下一个值。序列是一种自增的整数值,可以用于为表生成唯一的标识符。当插入数据时,如果没有显式指定该列的值,数据库会自动使用序列的下一个值作为默认值。
相关问题
DROP TABLE IF EXISTS "pisso_account" CASCADE; DROP SEQUENCE IF EXISTS "pisso_account_id_seq" CASCADE; CREATE SEQUENCE "pisso_account_id_seq"; grant select,update on sequence pisso_account_id_seq to lfgiapp; CREATE TABLE "pisso_account" ( "pisso_account_id" number(20) NOT NULL DEFAULT nextval('pisso_account_id_seq'::regclass), "sno" number(20) NOT NULL, "p10" varchar2(32) NOT NULL COLLATE "pg_catalog"."default", "p13" varchar2(100) COLLATE "pg_catalog"."default", "u_name" varchar2(32) COLLATE "pg_catalog"."default", "u_id" varchar2(32) COLLATE "pg_catalog"."default", "parent_group" varchar2(200) COLLATE "pg_catalog"."default", "child_group" varchar2(200) COLLATE "pg_catalog"."default", "branch_group" varchar2(200) COLLATE "pg_catalog"."default", "branch_group_code" varchar2(14) COLLATE "pg_catalog"."default", "begtime" number(11) NOT NULL, "endtime" number(11) NOT NULL, "branch" char(14) NOT NULL, CONSTRAINT "pisso_account_pkey" PRIMARY KEY ("pisso_account_id"), CONSTRAINT "pisso_account_p10_uni" UNIQUE ("p10") ); CREATE UNIQUE INDEX "pisso_account_uni_idx" ON "gi_dingtalk_resp"("sno"); COMMENT ON COLUMN "pisso_account"."pisso_account_id" IS '物理主键'; COMMENT ON COLUMN "pisso_account"."sno" IS '记录行号'; COMMENT ON COLUMN "pisso_account"."p10" IS 'P10账号'; COMMENT ON COLUMN "pisso_account"."p13" IS 'P13账号'; COMMENT ON COLUMN "pisso_account"."u_name" IS '员工姓名'; COMMENT ON COLUMN "pisso_account"."u_id" IS '身份证号'; COMMENT ON COLUMN "pisso_account"."parent_group" IS '总公司名称'; COMMENT ON COLUMN "pisso_account"."child_group" IS '分公司名称'; COMMENT ON COLUMN "pisso_account"."branch_group" IS '中支公司名称'; COMMENT ON COLUMN "pisso_account"."branch_group_code" IS '3级机构代码'; COMMENT ON COLUMN "pisso_account"."begtime" IS '开始日期'; COMMENT ON COLUMN "pisso_account"."endtime" IS '中止日期'; COMMENT ON COLUMN "pisso_account"."branch" IS '分公司代码'; COMMENT ON TABLE "pisso_account" IS 'P13及P10账号信息表'; 这个建表语句有问题吗?
这个建表语句中存在一些问题:
1. 数据类型:`varchar2` 是 Oracle 数据库特有的数据类型,而在 PostgreSQL 中应该使用 `varchar` 或 `text` 数据类型。
2. 主键:建表语句中的主键约束名 `pisso_account_pkey` 与索引名 `pisso_account_uni_idx` 重名,需要修改其中一个的名称。
3. 索引:建表语句中的索引 `pisso_account_uni_idx` 的表名应该是 `"pisso_account"` 而不是 `"gi_dingtalk_resp"`。
4. 注释:建表语句中的 `COMMENT ON` 语句需要修改,因为其中的表名和列名都是错误的。
以下是修改后的建表语句:
```
DROP TABLE IF EXISTS "pisso_account" CASCADE;
DROP SEQUENCE IF EXISTS "pisso_account_id_seq" CASCADE;
CREATE SEQUENCE "pisso_account_id_seq";
GRANT SELECT, UPDATE ON SEQUENCE "pisso_account_id_seq" TO lfgiapp;
CREATE TABLE "pisso_account" (
"pisso_account_id" serial NOT NULL,
"sno" bigint NOT NULL,
"p10" varchar(32) NOT NULL,
"p13" varchar(100),
"u_name" varchar(32),
"u_id" varchar(32),
"parent_group" varchar(200),
"child_group" varchar(200),
"branch_group" varchar(200),
"branch_group_code" varchar(14),
"begtime" integer NOT NULL,
"endtime" integer NOT NULL,
"branch" char(14) NOT NULL,
CONSTRAINT "pisso_account_pk" PRIMARY KEY ("pisso_account_id"),
CONSTRAINT "pisso_account_p10_uni" UNIQUE ("p10")
);
CREATE UNIQUE INDEX "pisso_account_uni_idx" ON "pisso_account"("sno");
COMMENT ON TABLE "pisso_account" IS 'P13及P10账号信息表';
COMMENT ON COLUMN "pisso_account"."pisso_account_id" IS '物理主键';
COMMENT ON COLUMN "pisso_account"."sno" IS '记录行号';
COMMENT ON COLUMN "pisso_account"."p10" IS 'P10账号';
COMMENT ON COLUMN "pisso_account"."p13" IS 'P13账号';
COMMENT ON COLUMN "pisso_account"."u_name" IS '员工姓名';
COMMENT ON COLUMN "pisso_account"."u_id" IS '身份证号';
COMMENT ON COLUMN "pisso_account"."parent_group" IS '总公司名称';
COMMENT ON COLUMN "pisso_account"."child_group" IS '分公司名称';
COMMENT ON COLUMN "pisso_account"."branch_group" IS '中支公司名称';
COMMENT ON COLUMN "pisso_account"."branch_group_code" IS '3级机构代码';
COMMENT ON COLUMN "pisso_account"."begtime" IS '开始日期';
COMMENT ON COLUMN "pisso_account"."endtime" IS '中止日期';
COMMENT ON COLUMN "pisso_account"."branch" IS '分公司代码';
```
注意:由于我不知道该表的具体需求和使用场景,以上修改仅仅是基于语法方面的改进,实际建表时需要根据具体需求进行修改。
kmp的nextval
在KMP算法中,nextval数组是用来优化匹配过程的。它的求解步骤如下:
1. 首先求出next数组的值,其中next=0,next=1。
2. 然后定义nextval[1]=0。
3. 对于模式串的每个字符T[j](j>1),比较它与第next[j]个字符T[next[j]]是否相等。
- 若相等,则将模式串的第j个字符的nextval值设为第next[j]个字符的nextval值,即nextval[j]=nextval[next[j]]。
- 若不相等,则将模式串的第j个字符的nextval值设为其对应的next值,即nextval[j]=next[j]。
需要注意的是,这里的模式串下标是从1开始计数。如果想要以0开始计数,可以将nextval=-1,nextval=0。
对于输出以"-1 0 "开头的nextval数组值,可以使用cout<<nextval[i]<<" "来输出。若想输出以"0 1"开头的nextval数组值,可以修改为cout<<nextval[i]<< " 1"。
希望这些信息对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [KMP算法 → 计算nextval数组](https://blog.csdn.net/hnjzsyjyj/article/details/127105603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [KMP算法的Next及NextVal序列求解](https://download.csdn.net/download/a471801687/7829913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)