oracle与sqlserver插入数据动态字段值
记录一下以备下次快速找到。。。
往tb_wf_privgrant表中插入一条记录,workflow_id字段值从tb_wf_workflow 表中获取workflow_name='知识审核'的所有记录中workflow_id最大值。
--oracle
declare a NUMBER(10);
begin
select max(workflow_id) into a from tb_wf_workflow where workflow_name='知识审核';
insert into tb_wf_privgrant(grant_Id,workflow_id,member_id,member_type,knowledge_code) values (HIBERNATE_SEQUENCE.NEXTVAL, a,'r001','R','6001');
end;
--sqlserver
--方法一
insert into tb_wf_privgrant(workflow_id,member_id,member_type,knowledge_code)
select max(workflow_id),'r001','R','6001' from tb_wf_workflow where workflow_name='知识审核'
--方法二
declare @a numeric(10,0)
select @a = max(workflow_id) from tb_wf_workflow where workflow_name='知识审核'
insert into tb_wf_privgrant(workflow_id,member_id,member_type,knowledge_code)
values (@a,'r001','R','6001')
相关文档:
什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
批处理(bat文件) 自动启动/关闭oracle服务
判断oracle 服务状态
如果服务处于启动状态,就关闭服务;
如果服务处于关闭状态,就启动服务。
@ECHO OFF
for /f "skip=3 tokens=4" %%i in ('sc query OracleServiceORCL') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (
ECHO Stoping Oracle ......
写的次序:
redo--> undo-->datafile
insert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据.
redo->每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新 ......