用VFP系统命令或SQL命令建索引库表及设置扩展属性的语句示例

2018-12-06 21:23

一、使用命令方式设置数据库表及其字段的扩展属性举例:

1. open data sjk 或者 create data sjk 或者用set data to命令创建或设置当前库 2. create table jsqk NAME 教师基本情况表 (gh c(6),xm c(8),csrq d,;

gzrq d CHECK gzrq

CHECK year(gzrq)-year(csrq)>=18 ERROR \参加工作的年龄为18岁以上!\

3. (1) create table gzqk (gh c(6),xm c(8),xb c(2),zc c(10),jbgz n(8,1),;

gwjt n(8,1),grsds n(8,1),yfgz n(8,1),sfgz n(8,1)) (2) append from E:\\vfptest\\gzb

(3) i) alter table gzqk SET CHECK grsds=(jbgz+gwjt-800)*0.1 NOVALIDATE &&设置gzqk表的记录有效性规则

或 alter table gzqk SET CHECK grsds=(jbgz+gwjt)*0.1;

ERROR \个人所得税应为基本工资加岗位津贴的10%\NOVALIDATE

&&设置gzqk表的记录有效性规则及有效性信息

ii) alter table gzqk alter gh SET CHECK !empty(gh) and len(allt(gh))=5; ERROR \工号不能为空且有效宽度必须为5位。\

&&设置gzqk表中gh字段的有效性规则及有效性信息 iv) alter table gzqk alter jbgz SET DEFAULT 400

&&设置gzqk表中jbgz字段的默认值为400

4. (1) alter table gzqk alter zc DROP DEFAULT

&&删除gzqk表中zc字段的默认值

(2) alter table gzqk alter gh DROP CHECK

&&删除gzqk表中gh字段的字段的有效性规则及有效性信息

(3) alter table gzqk DROP CHECK

&&删除gzqk表的记录有效性规则及有效性信息 5. (1) RENAME TABLE gzqk TO 教师收入基本情况表

&&对gzqk表进行改名操作

注:i) 上述改名操作实际是修改数据库表的长表名

ii) RENAME TABLE <旧名> TO <新名> 命令只用于数据库表的改名操作。 iii) 若要在VFP系统下对自由表进行改名操作,应使用RENAME <旧名> TO <新名> 命令(注:此命令还有移动文件的作用)。 iv) 长表名与表文件名的使用(见教材P101)。

v) 未设置长表名时,表文件名与长表名相同。在“项目管理器”窗口、“数据库设计器”窗口中显示的数据库表名实际为该表的长表名。

(2) alter table jsqk RENAME COLUMN JL TO JSJL &&对jsqk表中JL字段进行改名操作。

二、使用VFP系统函数设置或查看数据库表及其字段的扩展属性举例: 1. DBSETPROP函数

作用:设置数据库表及其字段的扩展属性。 用法举例:

(1)= dbsetprop(\教师基本情况表.gh\field\CAPTION\工号\

&&设置jsqk表中gh字段的显示标题为“工号”。

(2)= dbsetprop(\教师基本情况表.gh\field\COMMENT\教师工号\

&&设置jsqk表中gh字段的注释为“教师工号”。 (3)= dbsetprop(\教师基本情况表.gh\field\FORMAT\!T\

&&设置jsqk表中gh字段的显示格式为“!T”。

(4)= dbsetprop(\field\INPUTMASK\99999999\

&&设置sjk数据库中xs表xh字段的输入掩码为“99999999”。

2. DBGETPROP函数

作用:查看数据库表及其字段的扩展属性。 用法举例:

(1)? dbgetprop(\教师基本情况表\table\ruleexpression\

&&查看jsqk表的记录有效性规则。

(2)? dbgetprop(\教师基本情况表\table\ruletext\

&&查看jsqk表的记录有效性信息。

(3)? dbgetprop(\教师基本情况表.gzrq\field\ruleexpression\

&&查看jsqk表中gzrq字段的有效性规则。 (4)? dbgetprop(\教师基本情况表.gzrq\field\ruletext\

&&查看jsqk表中gzrq字段的有效性信息。 (5)? dbgetprop(\field\caption\

&&查看sjk数据库中xs表xh字段的显示标题。 (6)? dbgetprop(\field\comment\

&&查看sjk数据库中xs表xh字段的注释。 (7)? dbgetprop(\table\comment\

&&查看sjk数据库中xs表的表注释。

三、使用VFP系统命令或SQL命令建立数据库表/自由表的索引举例: 1.使用INDEX ON命令 (1)为js表建立结构复合索引

USE js

INDEX ON gh+xm TAG ghxm &&建立普通索引 INDEX ON gh+xm TAG ghxm uniq &&建立唯一索引 INDEX ON gh+xm TAG ghxm cand &&建立候选索引 (2) 建立js表的非结构复合索引(文件)

USE js

INDEX ON gh+xm TAG ghxm cand OF jssy INDEX ON gh+xm TAG ghxm uniq OF jssy INDEX ON gh+xm TAG ghxm OF jssy

&&jssy.cdx为非结构复合索引文件,表的非结构复合索引文件可以建多个且只

能用INDEX ON命令建立

(3) 建立js表的独立索引文件

USE js

INDEX ON gh to jsgh INDEX ON xm+xb to jsxmxb

&&jsgh.idx和jsxmxb.idx为独立索引文件,表的独立索引文件可以建多个且只

能用INDEX ON命令建立

注:(1) 从索引类型的角度讲,使用INDEX ON命令只能建立候选索引、唯一索引和普通索引。(不论是对数据库表还是自由表均如此)

(2) 从索引文件类型的角度讲,使用INDEX ON命令可创建三种索引文件。 2.使用CREATE TABLE-SQL命令 open data sjk

CREATE TABLE bmqk(bmdh c(5) prim key,bmmc c(10),dbrs i,fzr c(8),dhhm c(8); cand(或uniq) bmdh+str(dbrs) TAG bmdhdbrs)

注:(1) CREATE TABLE-SQL命令创建数据库表时,只能建立主索引和候选索引;在创建自由表时,只能建立候选索引。

(2) CREATE TABLE-SQL命令只能创建结构复合索引文件。

(3) 与INDEX ON命令不同的是,candidate和unique子句的作用均为建立候选索引。

3. 使用ALTER TABLE-SQL命令 (1) 建立主索引或候选索引

ALTER TABLE bmqk ADD PRIMARY KEY bmdh 或

ALTER TABLE bmqk ADD PRIMARY KEY bmdh+STR(dbrs) TAG bmrs ALTER TABLE bmqk ADD UNIQUE/CANDIDATE bmdh+bmmc TAG bmdhmc (2) 修改(或建立)单字段的主索引(候选索引)

ALTER ABLE bmqk ALTER bmdh C(5) PRIMARY KEY 或 ALTER TABLE bmqk ALTER bmdh C(5) UNIQUE (3) 删除索引

ALTER TABLE bmqk DROP PRIMARY KEY &&删除主索引 ALTER TABLE bmqk DROP UNIQUE/CANDIDATE TAG bmdhdbrs

注:(1) ALTER TABLE-SQL命令创建数据库表时,只能建立主索引和候选索引;在创建自由表时,只能建立候选索引。

(2) ALTER TABLE-SQL命令只能创建结构复合索引文件。

(3) 与INDEX ON命令不同的是,candidate和unique子句的作用均为建立候选索引。

(4) 用ALTER TABLE-SQL命令重新建立数据库表的主索引时,应先删除原有的主索引。

(5) 若用ALTER子句修改某个字段的结构内容(包括建立或修改仅以该字段为索引关键字的索引时)均应加上该字段的数据类型及宽度。

(6) 删除索引时,虽然用的是UNIQUE/CANDIDATE子句,但也可以删除唯一索引和普通索引。


用VFP系统命令或SQL命令建索引库表及设置扩展属性的语句示例.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工会经费收支管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: