我正在尝试创建一个表如下:
CREATE TABLE SCHEDULE (
SESSIONID SERIAL,
MODULECODE VARCHAR(10),
CONSTRAINT SCHEDULE_FOREIGN_KEY FOREIGN KEY (MODULECODE) REFERENCES MODULES (MODULECODE),
CONSTRAINT SCHEDULE_PRIMARY_KEY PRIMARY KEY (SESSIONID, MODULECODE));
Run Code Online (Sandbox Code Playgroud)
这个想法是SESSION ID随着每个新行自动递增,但仅限于本地MODULECODE,例如:
----------------------
|SESSIONID|MODULECODE|
|---------|----------|
| 1 | A |
| 2 | A |
| 3 | A |
| 1 | B |
| 2 | B |
| 1 | C |
| 2 | C |
|--------------------|
Run Code Online (Sandbox Code Playgroud)
我相信这就是AUTO_INCREMENTMySQL 中的功能,但我怀疑 PostgreSQL 不是这样工作的。我还能如何在 PostgreSQL 中实现这一点?
我刚刚开始学习汇编,并且正在制作一个简单的启动加载器作为我的OS类的一部分.我正在努力使我的代码更有效率,即我不认为我到目前为止所做的是实现我想要的特别好的方法.也就是说,我一直在努力寻找任何在线资源,记录跳转/分支/查找表,我认为这是最有效的方法.
为了解释我想要实现的目标,我正在调用一个函数,该函数在dx寄存器中返回一个值,从0到4.目前我正在cmp逐个使用指令来比较值并进行条件je跳转价值是一样的.如果我用更高级别的语言编写这个,我基本上会if一个接一个地做多个语句,而不是使用更有效的switch语句.
所以这就是我现在正在做的事情:
cmp dx, 1
je .F_1
cmp dx, 2
je .F_2
cmp dx, 3
je .F_3
cmp dx, 4
je .F_4
cmp dx, 0
je .F_5
jmp RangeError_Handler
.F1:
mov si, msg1
jmp F_Exit
.F2:
mov si, msg2
jmp F_Exit
... ; .F3 and .F4 follow the pattern
.F5: ; special case
mov si, msg_error
call PrintLn
hlt
F_Exit:
call PrintLn
... ; and do something else
msg1: …Run Code Online (Sandbox Code Playgroud)