- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例5.36 显示工资最低的那30%职工的信息 SELECT * TOP 30 PERCENT FROM 职工 ORDER BY 工资 * 将查询结果存放到数组中 可以使用INTO ARRAY ArrayName短语将查询结果存放到数组中, ArrayName可以是任意的数组变量名。一般将存放查询结果的数组作为二维数组来使用,每行一条记录,每列对应于查询结果的一列。查询结果存放在数组中,可以非常方便地在程序中使用。 如下语句将查询到的职工信息存放在数组tmp中: SELECT * FROM 职工 INTO ARRAY tmp tmp(1,1)存放的是第一条记录的仓库号字段值,tmp(1,2)存放的是第一条记录的职工号字段值等。 * 3. 将查询结果存放在临时文件中 使用短语INTO CURSOR CursorName可以将查询结果存放到临时数据库文件中,其中CursorName是临时文件名,该短语产生的临时文件是一个只读的dbf文件,当查询结束后该临时文件是当前文件,可以像一般的dbf文件一样使用,但仅是只读。当关闭文件时该文件将自动删除。 如下语句将查询到的职工信息存放在临时dbf文件tmp中: SELECT * FROM 职工 INTO CURSOR tmp 一般利用INTO CURSOR 短语存放一些临时结果,比如一些复杂的汇总可能需要分阶段完成,需要根据几个中间结果再汇总等,这时利用该短语存放中间结果就非常合适,当使用完后这些临时文件会自动删除。 4. 将查询结果存放到永久表中 使用短语INTO DBF|TABLE TableName可以将查询结果存放到永久表中(dbf文件)。 例:将显示工资最高的三位职工的信息存放在表highsal中 SELECT * TOP 3 FROM 职工 INTO TABLE highsal ORDER BY 工资 DESC 5. 将查询结果存放到文本文件中 使用短语TO FILE FileName[ADDITIVE]可以将查询结果存放到文本文件中,其中FileName给出了文本文件名(默认扩展名是txt),如果使用 ADDITIVE结果将追加在原文件的尾部,否则将覆盖原有文件. 如:将查询结果以文本的形式存储在文本文件tmp.txt中: SELECT * TOP 3 FROM 职工 TO FILE tmp ORDER BY 工资 DESC 6. 将查询结果直接输出到打印机 使用短语TO PRINTER [PROMPT]可以直接将查询结果输出到打印机,如果使用了PROMPT选项,在开始打印之前会打开打印机设置对话框。 4.3 操作功能 SQL的操作功能是指对数据库中数据的操作功能,主要包括数据的插入、更新和删除三个方面的内容。 4.3.1插入数据 Visual Foxpro支持两种SQL插入命令的格式,第一种格式是标准格式,第二种格式是Visual Foxpro的特殊格式。 第一种格式: INSERT INTO dbf-name [(fname1[,fname2,…)] VALUES (eExpression1 [, eExpression1 ,…]) 第二种格式: INSERT INTO dbf-name FROM ARRAY ArrayName|FROM MEMVAR 例:往订购单关系中插入元组(“E7”,”S4”,”OR01”,{^2001-05-25}) INSET INTO 订购单 VALUES(“E7”,”S4”,”OR01”,{^2001-05-25}) 对以上的情况,假设供应商尚未确定,那么只能先插入职工号和订购单号两个属性的值,用命令: INSET INTO 订购单(职工号,订购单号) VALUES(“E7”,”OR01”) * 下面用一组命令来说明INSET INTO…FROM ARRAY的使用方式: 打开订购单: USE 订购单 将当前记录读到数组arr1:SCATTER to arr1 拷贝订购单表的结构到ord2:COPY STRUCTURE TO ord2 从数组arr1插入一条记录到ord2: INSET INTO ord2 FROM ARRAY arr1 切换到ord2的工作区:SELECT ord2 用BROWSE命令验证插入的结果: BROWSE 关闭并删除ord2.dbf文件: USE D
文档评论(0)