返回顶部
首页 > 资讯 > 数据库 >达梦7入门技术总结-
  • 270
分享到

达梦7入门技术总结-

达梦7入门技术总结- 2017-08-27 10:08:10 270人浏览 绘本
摘要

说明: 1)该实验所有过程均是本人亲自敲命令完成,所有代码运行正确 2)安装过程使用的是suse11 sp3操作系统,后续的实验过程换成了麒麟中标,因此部分路径可能存在差异 3)安装过程使用了命令行安装,图形界面简单,因此本文没有介绍 4)

说明:

1)该实验所有过程均是本人亲自敲命令完成,所有代码运行正确

2)安装过程使用的是suse11 sp3操作系统,后续的实验过程换成了麒麟中标,因此部分路径可能存在差异

3)安装过程使用了命令行安装,图形界面简单,因此本文没有介绍

4)job部分命令行操作太繁琐,建议使用图形界面操作,因此本文也跳过了此内容

 

正文

1. 安装
1.1 创建安装用户组
#groupadd dinstall

1.2 创建安装用户
#useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

#useradd -g dinstall dmdba

1.3 初始化用户密码
#passwd dmdba

1.4 修改系统限制
#vi /etc/security/limits.conf
dmdba soft nofile 4096
dmdba hard nofile 65536

1.5 挂载镜像文件
#mkdir /dmdb
#mount -t iso9660 -o loop /root/dm7_setup_rh6_64_ent_7.6.0.197_20190917.iso /dmdb

1.6 更改权限
#chown dmdba.dinstall -R /dmdb
#chmod 755 -R /dmdb

1.7 修改环境变量
#su - dmdba
#vi .bashrc
export DM_HOME=/home/dmdba/dmdbms
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH

1.8 采用命令行模式安装
#su - dmdba
#cd /dmdb
#./DMInstall.bin -i
1)Please select the installer"s language (E/e:English C/c:Chinese) [E/e]:e
2)Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:n
3)Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]:y
4)Please Select the TimeZone [21]:21
5)Installation Type:
1 Typical
2 Server
3 Client
4 Custom
Please Input the number of the Installation Type [1 Typical]:1
6)Please Input the install path [/home/dmdba/dmdbms]:
7)Please Confirm the install path(/home/dmdba/dmdbms)? (Y/y:Yes N/n:No) [Y/y]:y
8)Confirm to Install? (Y/y:Yes N/n:No):y
9)Please execute the commands by root:
/home/dmdba/dmdbms/script/root/root_installer.sh

1.9 初始化数据
#/home/dmdba/dmdbms/bin
#./dminit
input system dir: /home/dmdba/dmdbms
input db name: dmdb01
input port num: 5236
input page size(4, 8, 16, 32): 8
input extent size(16, 32): 16
input sec priv mode(0, 1): 0
input time zone(-12:59,+14:00): +08:00
string case sensitive? ([Y]es, [N]o): n
which charset to use? (0[GB18030], 1[UTF-8], 2[EUC-KR]): 1
length in char? ([Y]es, [N]o): y
enable database encrypt? ([Y]es, [N]o): n
page check mode? (0/1/2): 0
input elog path: /home/dmdba/dmdbms/log
auto_overwrite mode? (0/1/2): 2

1.10 启动数据库服务
#cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p dmdb01 -i /home/dmdba/dmdbms/dmdb01/dm.ini
提示信息:
Move the service script file(/home/dmdba/dmdbms/bin/DmServicedmdb01 to /etc/init.d/DmServicedmdb01)
insserv: warning: current stop runlevel(s) (empty) of script `DmServicedmdb01" overwrites defaults (2 3 4 5).
insserv: Service network is missed in the runlevels 4 to use service Mysql
DmServicedmdb01 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Finished to create the service (DmServicedmdb01)

#service DmServicedmdb01 start

1.11 连接验证(默认密码)
#/home/dmdba/dmdbms/bin/disql
username:sysdba
passWord:SYSDBA

2.通过vnc调出管理工具
#xhost +
#su - dmdba
#export DISPLAY=127.0.0.1:1.0
#/home/dmdba/dmdbms/tool/manager


3.修改参数(v$parameter)
3.1 参数类型
0 Sys/session 动态参数,同时修改内存和配置文件
1 Read only 在数据库运行状态时,不能修改。
2 In file 静态参数,修改后,重启服务生效。

示例:
SQL> Select para_name,para_value from v$dm_ini where para_name="BUFFER_POOLS";
LINEID para_name para_value
---------- ------------ ----------
1 BUFFER_POOLS 3

3.2 命令
SP_PARA_SET_VALUE(SCOPE,PARA_NAME,PARA_VALUE);

SCOPE值:
1: 修改配置文件和内存
2:只修改配置文件

示例:
SQL> SP_SET_PARA_VALUE(2,’BUFFER’,1000);

4.重做日志
4.1 视图
v$rlogfile
v$rlog

SQL> select * from v$rlogfile;
说明:这里查出来的rlog_size大小单位是bit,因此再下面添加日志大小的时候需要除以两次1024转成M

4.2 添加日志文件
SQL> alter database add logfile "/home/dmdba/dmdbms/dmdb01/dmdb0103.log" size 256;
说明:默认单位是M,不需要加单位。并且需要和原来的日志文件大小一致

4.3 修改日志文件大小
SQL> alter database resize logfile "/home/dmdba/dmdbms/dmdb01/dmdb0103.log" to 300;
说明:所有的日志文件要大小一致

5.表空间
5.1视图
dba_tablespaces
v$tablespace
v$huge_tablespace

5.2 表空间说明
SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces;

System表空间: 数据字典和全局的系统数据。
ROLL表空间:存放了数据库运行过程中产生的回滚记录。
TEMP表空间:临时表空间。
MaiN表空间:数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间。
HMAIN表空间:huge 表空间

5.3 查询所有表空间信息
SQL> Select name from v$tablespace uNIOn select name from v$huge_tablespace;

5.4 创建表空间
表空间初始文件大小是页大小的4096倍

示例1:表空间初始大小50M,每次扩展1M,最大100M
SQL> create tablespace tbs1 datafile "/dm7/data/dm01/tbs01.dbf" size 50 autoextend on next 1 maxsize 100;

示例2:表空间初始50M,表空间由2个数据文件组成,分别存储到不同的磁盘上,每次扩展1m,每个数据文件最大100M.
SQL> create tablespace tbs2 datafile "/dm7/data/dm01/tbs02_1.dbf" size 50 autoextend on next 1 maxsize 100,"/dm7/data/tbs02_2.dbf" size 50 autoextend on next 1 maxsize 100;

5.5 维护表空间
最常用的方式就是增加数据文件
SQL> alter tablespace tbs2 add datafile "/dm7/data/dm01/tbs02_3.dbf" size 50 autoextend on next 1 maxsize 100;

5.6 更换文件存储位置
注意:SYSTEM,ROLL, TEMP 不能offline;
SQL> alter tablespace tbs2 offline;
SQL> alter tablespace tbs2 rename datafile "/dm7/data/tbs02_2.dbf" to "/dm7/data/dm01/tbs02_2.dbf";
SQL> alter tablespace tbs2 online;

5.7 删除表空间
SQL> drop tablespace tbs2;
如果表空间存有数据,不允许直接删除!

6.用户管理
6.1 视图
dba_users

6.2 内置用户
sys --- 达梦数据库的内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图
Sysdba --- 数据库的管理员
Sysauditor --- 审计用户
Syssso --- 安全用户
sysdbo --- 数据操作员(安全版有,四权分立)

6.3 命名规则
字母开头,a-z,0-9,$#_

6.4 口令策略
用户密码最长为48个字节,创建用户语句使用 password policy 子句来指定口令策略(DM.INI PWD_POLICY).
系统支持的口令策略:
   0 无策略
   1 禁止与用户名相同
   2 口令长度不小于9
   4 至少包含一个大写字母(A-Z)
  8 至少包含一个数字(0-9)
 16 至少包含一个标点符号(英文状态输入,除”和空格外)
口令可以单独使用,也可以组合使用,比如需要应策略1和2,则设置口令策略为:3
密码尝试登录次数 FAILED_LOGIN_ATTEMPS
密码失败定时间 PASSWORD_LOCK_TIME
密码过期时间 PASSWORD_LIFE_TIME



6.5 用户权限
系统权限: create drop alter 能够对数据库做什么操作。
对象权限(表,视图,过程等等): select delete update insert
角色: dba、public等

6.6 查看用户权限:
SQL> select grantee,granted_role from dba_role_privs where grantee="USER1";

行号 GRANTEE GRANTED_ROLE
---------- ------- ------------
1 USER1 PUBLIC

6.7 查看角色拥有的权限
SQL> select grantee,privilege from dba_sys_privs where grantee="PUBLIC";
行号 GRANTEE PRIVILEGE
---------- ------- ----------------
1 PUBLIC INSERT TABLE
2 PUBLIC UPDATE TABLE
3 PUBLIC DELETE TABLE
4 PUBLIC SELECT TABLE
5 PUBLIC REFERENCES TABLE
6 PUBLIC GRANT TABLE
.....

6.8 示例

示例1:为数据库设置一个用户,该用户可以创建自己的表,有属于自己的独立表空间,用户密码要求每60天变更一次。
SQL> create tablespace tbs3 datafile "/dm7/data/dm01/tbs03.dbf" size 32;
SQL> create user user1 identified by user1user1 limit password_life_time 60 default tablespace tbs3;

示例2:创建一个用户,该用户每60天变更一次密码,密码尝试连接2次失败,账户锁定5分钟,用户还可以查询dmhr.employee表
SQL> create user user2 identified by user2user2 limit password_life_time 60, FAILED_LOGIN_ATTEMPS 2 ,PASSWORD_LOCK_TIME 5 default tablespace tbs3;
SQL> grant select on dmhr.employee to user2;

示例3:企业招聘一批录入人员,权限是固定的,只有录入CITY表的权限
角色:一类权限的集合
SQL> create role role1;
SQL> grant insert on dmhr.city to role1;
SQL> grant references any table to role1;
SQL> grant role1 to user2;

6.9 用户维护

1)撤销权限
SQL> revoke select on dmhr.employee from user2;

2)解锁用户
SQL> alter user user2 account unlock;

3)修改密码
SQL> alter user user2 identified by user3user3;

4)删除用户
SQL> drop user user2;

5)删除用户(级联删除)
SQL> drop user user2 cascade;

7.dmsql
说明:由于SQL查询内容比较复杂,并且作为数据管理型DBA SQL开发也不是重点,所以这里只总结了大概内容。
7.1 常识
dmsql主要基于sql92,部分sql99
SQL:结构化查询语言
DDL: 定义 create drop alter truncate
DML: 管理 select update delete insert
DCL:控制 grant revoke
TCL:事务控制:commit rollback

7.2 select
简单查询:select () from ();
过滤查询:select () from () where ();
多表链接:select() from () join() on();
分组查询:select 聚合函数() from () group by () having ();
子查询:

7.3 insert into

7.4 delete

7.5 update

8.表的管理
8.1 达梦数据库支持的表
索引组织表(默认的表)、堆表、临时表、分区表、外部表等。

8.2 创建表时包含的内容
命名:字母开头 a-z,0-9,$#_
 数据类型:int char varchar date clob blob number等等。
 存储位置:自已的规划的表空间。
 约束(5大约束): 非空约束,唯一约束,主键,检查,外键
 注释:comment
 遵循3范式

8.3 示例
1)要求
表名:STU
学号(id char(10)),
姓名(sname varchar(20) not null),
性别 (sex char(1))
年龄(age int)
电话(tel varchar(15) not null)
家庭住址:(address varchar(50))
表空间:TBS2
约束:主键列---学号 非空---姓名,电话
备注:学员信息表

2)SQL语句
create table USER2.STU
(
ID CHAR(10) not null ,
SNAME VARCHAR(20) not null ,
SEX CHAR(1),
AGE INT,
TEL VARCHAR(15) not null ,
ADDRESS VARCHAR(50),
primary key(ID)
) storage (on TBS2);
comment on table USER2.STU is "学员信息表";
comment on column USER2.STU.ID is "学号";
comment on column USER2.STU.SNAME is "姓名";
comment on column USER2.STU.SEX is "性别";
comment on column USER2.STU.AGE is "年龄";
comment on column USER2.STU.TEL is "电话";
comment on column USER2.STU.ADDRESS is "家庭住址";

8.4 查看表结构
注意:用户名、表名都要大写
SQL> sp_tabledef("USER2","STU");

行号 COLUMN_VALUE
---------- -------------------------------------------------------------------
1 CREATE TABLE "USER2"."STU" (
"ID" CHAR(10) NOT NULL,
"SNAME" VARCHAR(20) NOT NULL,
"SEX" CHAR(1), "AGE" INT,
"TEL" VARCHAR(15) NOT NULL,
"ADDRESS" VARCHAR(50),
CLUSTER PRIMARY KEY("ID"))
STORAGE(ON "TBS2", CLUSTERBTR) ;

或者:
SQL> select dbms_metadata.get_ddl("TABLE","STU","USER2");

8.5 查看表所属表空间
SQL> select table_name,tablespace_name from dba_tables where table_name="STU";
行号 TABLE_NAME TABLESPACE_NAME
---------- ---------- ---------------
1 STU TBS2

8.6 查看表有哪些约束
SQL> select table_name,constraint_name,constraint_type from dba_constraints where table_name="STU";
行号 TABLE_NAME CONSTRAINT_NAME CONSTRAINT_TYPE
---------- ---------- --------------- ---------------
1 STU CONS134218774 P


8.7 创建表时指定约束
1)非空约束
SQL> create table user2.t1(id int);
SQL> alter table user2.t1 modify id int not null;
或者:
SQL> create table user2.t2(id int not null);

2)唯一约束
SQL> create table user2.t3(id int unique);

3)主键约束
SQL> create table user2.t4(id int primary key);

4)检查约束
SQL> create table user2.t5(id int check(id>=5));

5)外键约束
SQL> create table user2.t6(id int primary key ,sid int foreign key references user2.t4(id));
说明:作为外键约束的列必须是另外一个表的主键

8.8 表的注释
SQL> comment on column user2.t1.id is "编号";

8.9 导入数据到表中
1)编写a.sql脚本:
insert into user2.t1(id) values(1);
insert into user2.t1(id) values(2);
insert into user2.t1(id) values(3);
insert into user2.t1(id) values(4);
commit;

2)然后:
SQL> start /tmp/a.sql

3)也可以用图形界面的DTS工具去做。

8.10 维护表
1)重命名
SQL> alter table user2.t6 rename to tt6;

2)增加删除列
SQL> alter table user2.tt6 add name varchar(10);
SQL> alter table user2.tt6 drop name;

3)启用禁用约束
SQL> select table_name,constraint_name,constraint_type from dba_constraints where table_name="T4";
行号 TABLE_NAME CONSTRAINT_NAME CONSTRAINT_TYPE
---------- ---------- --------------- ---------------
1 T4 CONS134218776 P

SQL> alter table user2.t4 disable constraint CONS134218776;
SQL> alter table user2.t4 enable constraint CONS134218776;

9.视图管理
9.1 视图分类
简单视图,复杂视图,物化视图
注:简单视图和复杂视图不占磁盘空间
物化视图占磁盘空间

9.2 创建视图
create view () as select () from () where ();

SQL> create view v1 as select * from user2.t1;
SQL> select * from v1;

行号 ID
---------- -----------
1 1
2 2
3 3
4 4

9.3 查看视图
SQL> select view_name,text from dba_views where view_name="V1";

行号 VIEW_NAME TEXT
---------- --------- ---------------------------------
1 V1 SELECT USER2.T1.ID FROM USER2.T1


9.4 修改视图
SQL> create or replace view v1 as select * from user2.t2;
SQL> select * from v1;
未选定行

10.序列管理
10.1 创建序列
SQL> create sequence user2.s1
start with 1 ----序号起始
increment by 1 --自增多少
maxvalue 50 ---最大值
nocache ---是否缓存
nocycle; ---是否循环

10.2 序列的应用
SQL> insert into user2.t1 values(user2.s1.nextval);
SQL> insert into user2.t1 values(user2.s1.nextval);
向表中插入两条记录。

SQL> select * from user2.t1;

行号 ID
---------- -----------
1 1
2 2
3 3
4 4
5 1
6 2

6 rows Got


11.同义词管理
11.1 创建同义词
公共:SQL> create public synonym ss1 for dmhr.employee;
普通:SQL> create synonym ss2 for dmhr.employee;

SQL> select count(*) from ss1;

行号 COUNT(*)
---------- --------------------
1 856

11.2 修改同义词
SQL> create or replace synonym ss2 for dmhr.city;

11.3 删除同义词
SQL> drop synonym ss2;
SQL> drop public synonym ss1;

12.索引管理
12.1 达梦支持的索引
二级索引、位图索引、唯一索引、复合索引、函数索引、分区索引等。
默认的表是索引组织表,是利用rowid创建一个默认的索引,所以创建的索引称为二级索引。

12.2 查看表的索引
SQL> select table_name,index_name from dba_indexes where table_name="T1";
行号 TABLE_NAME INDEX_NAME
---------- ---------- -------------
1 T1 INDEX33555470

12.3 索引的作用
加快表的查询,对数据库做DML操作的时候,数据库会自动维护索引。索引是一棵倒置的树,使用索引,就是对这棵索引树做遍历。

12.4 建立索引的规则

1)适合建立索引的情况
经常查询的列
接条件列
谓词经常出现的列(where)
查询是返回表的一小部分数据

2)不适合做索引的情况:
列上有大量的null
列上的数据有限(例如性别)

12.5 创建索引
规划索引表空间
表的数据是无序的,索引的数据是有序的

示例:在Emp中的employee_id 建立索引。
1)建立表
SQL> create table user2.emp as select * from dmhr.employee;
2)建立索引表空间
SQL> create tablespace tbs_idx1 datafile "/dm7/data/dm01/tbs_idx101.dbf" size 32;
3)建立索引:
SQL> create index ind_emp on user2.emp(employee_id) tablespace tbs_idx1;
4)查询索引:
SQL> select table_name,index_name from dba_indexes where table_name="EMP";

行号 TABLE_NAME INDEX_NAME
---------- ---------- -------------
1 EMP INDEX33555479
2 EMP IND_EMP

12.6 重建索引
SQL> alter index user2.IND_EMP rebuild;

13.备份还原
13.1 备份分类
物理备份、逻辑备份

13.2 物理备份
1)工具简介
冷备:(dmap服务打开的状态下,数据库是关闭的)
热备:(dmap服务一定是打开的,数据库也是打开的,数据库要开归档)
导入导出:dexp dimp
集群:数据守护(dw),dsc(rac)
达梦支持第三方的备份软件:爱数,鼎甲

2)物理备份过程(冷备)
第一步:创建归档日志存放路径
#mkdir /dm7/data/dm01/arch

第二步:开归档
SQL> alter database mount;
SQL> alter database add arcHivelog "type=local,dest=/dm7/data/dm01/arch,file_size=64,space_limit=0";
SQL> alter database archivelog;
SQL> alter database open;
SQL> select ARCH_MODE,STATUS$ from v$database;
行号 ARCH_MODE STATUS$
---------- --------- -----------
1 Y 4

第三步:停止数据库服务
[dmdba@localhost dm01]$ service DmServicedm01 stop

第四步:使用dmrman备份
说明:dmrman 命令必须在命令所在的bin目录下执行才行
[dmdba@localhost bin]$ pwd
/dm7/bin
[dmdba@localhost bin]$ ./dmrman
RMAN> backup database "/dm7/data/dm01/dm.ini";
根据提示信息找到备份文件位置

3) 使用命令行备份(热备)
使用命令行备份,同样需要开归档,但是不需要停数据库服务
#mkdir /dm7/data/backup
SQL> backup database full backupset "/dm7/data/backup/full_bak";
增量备份
SQL> insert into user2.t1 values(user2.s1.nextval);
SQL> select checkpoint(1);
SQL> backup database increment backupset "/dm7/data/backup/incr_bak";

13.3 还原数据
1)选择实验用户和实验表空间
SQL> select username,default_tablespace from dba_users where username="USER2";

行号 USERNAME DEFAULT_TABLESPACE
---------- -------- ------------------
1 USER2 TBS3

2)模拟表空间文件损坏
#mv tbs03.dbf tbs03.dbf.bak

3)重启服务
#service DmServicedm01 stop
#service DmServicedm01 start

4)手动打开数据库
SQL> alter database open;

5)查看表空间状态
SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces where tablespace_name="TBS3";

行号 TABLESPACE_NAME STATUS
---------- --------------- -----------
1 TBS3 1

6)恢复数据
SQL> restore tablespace tbs3 from backupset "/dm7/data/backup/full_bak";

7)online表空间
SQL> alter tablespace tbs3 online;

8)查看表空间状态
SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces where tablespace_name="TBS3";

行号 TABLESPACE_NAME STATUS
---------- --------------- -----------
1 TBS3 0

9)查询数据
SQL> select * from user2.t1;
行号 ID
---------- -----------
1 1
2 2
3 3
4 4
5 1
6 2
7 3
8 4

8 rows got

13.4 逻辑导入导出
1)工具简介
Dexp 逻辑导出 dimp 逻辑导入
Dexp和dimp是DM自带的工具,分为四种级别:
数据库级,用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
数据库级(full):导出或导入整个数据库中的访问对象。
用户级(owner):导出或导入一个或多个用户所拥有的所有对象。
模式级(schemas):导出或导入一个或多个模式下的所有对象。
表级(table):导出或导入一个或多个指定的表或表分区。

2)实验过程
第一步:备份user2下的数据
[dmdba@localhost bin]$ pwd
/dm7/bin
[dmdba@localhost bin]$./dexp sysdba/SYSDBA file=/dm7/data/backup/user2.dmp log=/dm7/data/backup/user2.log owner=user2

第二步:恢复数据到user1下
[dmdba@localhost bin]$ pwd
/dm7/bin
[dmdba@localhost bin]$./dimp sysdba/SYSDBA file=/dm7/data/backup/user2.dmp log=/dm7/data/backup/user1.log fromuser=user2 touser=user1

第三步:数据确认(两次SQL语句是导入数据前后的对比)
SQL> select * from user1.t1;
select * from user1.t1;
[-2106]:Error in line: 1
Invalid table or view name [t1].
used time: 1.538(ms). Execute id is 0.

SQL> select * from user1.t1;

LINEID id
---------- -----------
1 1
2 2
3 3
4 4
5 1
6 2

6 rows got

14.达梦SQL开发
14.1 配置ODBC(linux下)
1)安装(root用户)
#tar -xvf unixODBC-2.3.0.tar.gz
#cd unixODBC-2.3.0
# ./configure --enable-gui=no
#make
#make install
# odbc_config --version
2.3.0
#odbc_config --odbcini
/usr/local/etc/odbc.ini
#odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

2)修改配置文件
#cd /usr/local/etc
#vi odbc.ini
[dm7]
Desription=DM ODBC DSND
Driver = DM7 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Abcd.1234
tcp_PORT = 5236

#vi odbcinst.ini
[DM7 ODBC DRIVER]
Description = ODBC DRIVER FOR DM7
Driver = /dm7/bin/libdodbc.so

3)修改文件权限
#chmod 775 odbc.ini
#chmod 775 odbcinst.ini

4)测试
#su - dmdba
#isql dm7
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+

14.2 存储过程
1)匿名块
SQL> set serveroutput on
SQL> begin
print("hello world");
end;
/

2)命名块(存储过程)
SQL> CREATE OR REPLACE PROCEDURE USER2.P1
AS
BEGIN
SELECT * from USER2.T1;
END;
/

SQL> call user2.p1;

LINEID id
---------- -----------
1 1
2 2
3 3
4 4
5 1
6 2

6 rows got 

您可能感兴趣的文档:

--结束END--

本文标题: 达梦7入门技术总结-

本文链接: https://lsjlt.com/news/2851.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 达梦7入门技术总结-
    说明: 1)该实验所有过程均是本人亲自敲命令完成,所有代码运行正确 2)安装过程使用的是suse11 sp3操作系统,后续的实验过程换成了麒麟中标,因此部分路径可能存在差异 3)安装过程使用了命令行安装,图形界面简单,因此本文没有介绍 4)...
    99+
    2017-08-27
    达梦7入门技术总结-
  • COM技术入门(3)
    (1)COM组件注册卸载与智能指针一COM组件注册和卸载1.Regsvr32.exe命令是用来对"Active控件"进行注册的命令格式注册 Regsvr32 路径/名称.dll  卸载  Regsvr32 /u 路径/名称.dll2.ATL...
    99+
    2023-01-31
    入门 技术
  • MySQL入门(详细总结)
    目录 1、什么是数据库? 2、数据库的特点 3、数据库的分类 4、MySQL的登录和退出 4.1、MySQL的登录 5、SQL语句 5.1、什么是SQL? 5.2、通用语法 5.3、SQL语句的分类 6、操作数据库——DDL语言 7、操作表...
    99+
    2023-10-10
    数据库
  • SpringBoot技术快速入门
       目录 目录 Spring Boot是什么 Spring Boot 的特点 配置开发环境 创建 Spring Boot 项目 Maven 创建Spring Boot 项目 Spring Initializr 创建SpringBoot项目...
    99+
    2023-09-02
    spring boot java spring
  • Elasticsearch入门知识点总结
    这篇文章主要介绍“Elasticsearch入门知识点总结”,在日常操作中,相信很多人在Elasticsearch入门知识点总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • Linux iptables入门教程总结
    本篇内容介绍了“Linux iptables入门教程总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!链(chain)与规则 (rules)...
    99+
    2023-06-13
  • Java技术:Java科技计算入门
    Java技术:Java科技计算入门: Detail:Java技术:Java科技计算入门[@more@]...
    99+
    2023-06-03
  • Node.js调试技术总结分享
    前言 众所周知调试技术与开发技术构成了软件开发的基石。目前Nodejs作为新型的Web Server开发栈倍受开发者关注。总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语...
    99+
    2022-06-04
    技术 Node js
  • Python基础技术问题总结
    Introduction此篇文章总结python一些常见的技术问题,每一个都是简短的解释,篇幅不大,不断更新中…解释一下python的 and-or 语法python的and-or常常被用来实现类C语言中的三元运算符:, 更骚包的写法是 x...
    99+
    2023-01-31
    基础 技术 Python
  • Nexus入门学习使用总结
    文章目录 前言一、nexus是什么?二、使用步骤1.怎么启动nexus2.怎么访问nexus管理页面3.私服仓库的分类4.如何配置Maven5.怎么查看仓库的类型和地址6.怎么使用maven将...
    99+
    2023-09-10
    maven 服务器 运维
  • Python入门基础知识总结
    目录 一:简介: 二:Python基础语法 2.1.字面量 2.2.注释 2.3.数据类型转换 2.4.标识符 2.5.运算符 2.6.字符串 2.6.1.字符串的三种定义方式 2.6.2.字符串拼接 2.6.3.字符串格式化 2.6.4....
    99+
    2023-09-01
    python 开发语言
  • 总结分享Python冷门的技巧
    本篇文章给大家带来了关于Python的相关知识,其中主要整理了冷门的技巧的相关问题,包括了first库、tqdm库、delattr、!cmd操作、this库等等内容,下面一起来看一下,希望对大家有帮助。【相关推荐:Python3视频教程 】...
    99+
    2022-07-13
    python
  • python学习总结一(快速入门)
    新的一年了,对于去年的半年是在不满意,后半年是在没什么提高。新的一年当然有新的打算 不能那么平行线的走了,要让自己坡度上升。新的一年当然有新的计划了,一直说学开发的自己耽误了那么久了,去年的事情拖到了现在。最终确定了学习python。好吧学...
    99+
    2023-01-31
    入门 快速 python
  • Redis_技术_超详细入门教程
    Redis_技术_超详细入门教程 一. NoSQL概述 1.在说Redis之前,让我们先去了解NoSQL,为什么呢 因为,主流NoSQL的产品中,就包含了我们即将学习的Redis     2. 什么是NoSQL ...
    99+
    2015-10-17
    Redis_技术_超详细入门教程
  • 怎样入门CSSSprites雪碧图技术
    怎样入门CSSSprites雪碧图技术,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。雪碧图被运用在众多使用了很多小图标的网站上。相对于把每...
    99+
    2024-04-02
  • Linux基础入门(常用指令总结)
    相信大家对Linux都不陌生,本篇文章就详细介绍一些常用的Linux命令 目录 前言 一、Linux是什么? 二、常用命令 1.cd 切换文件夹 2.ls 查看目录内容 3.mkdir 创建文件夹 4.touch 创建空文件 5.rm...
    99+
    2023-09-01
    linux 1024程序员节 c++ 服务器 unix
  • 达梦数据库产品支持技术学习分享_Week1 - 时山
    本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考。 一、达梦数据库的体系架构 二、达梦数据库的安装 三、达梦数据库的数据类型 四、达梦数据库的DDL、DML、DCL语句 五、达梦数据库登录、创建用...
    99+
    2017-04-25
    达梦数据库产品支持技术学习分享_Week1 - 时山
  • 深入剖析技术要点:Go语言项目开发经验总结
    深入剖析技术要点:Go语言项目开发经验总结引言:Go语言是由Google公司开发的一种开源的静态类型编程语言。它以其简洁、高效和并发性能等特点,成为了越来越多开发者喜爱的语言。在实际的项目开发中,我们需要注意一些技术要点,以确保项目的质量、...
    99+
    2023-11-03
    Go语言 项目开发 技术要点
  • Java个人技术知识点总结(框架篇)
    框架篇Struts1的运行原理在启动时通过前端总控制器ActionServlet加载struts-config.xml并进行解析,当用户在jsp页面发送请求被struts1的核心控制器ActionServlet接收,ActionServle...
    99+
    2023-06-02
  • Java个人技术知识点总结(优化篇)
    代码优化 代码结构层次的优化(目的:更加方便代码的维护--可维护性,可读性)        1.代码注释(代码规范)   ...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作