- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
as400_sql常見问题解答
AS400 SQL 常见问题
一.400平台通过CRTPF、SQL语句两种方式创建PF的区别
无论是 OS/400 的命令 CRTPF 或者是 SQL 语句 CREATE TABLE 都可以在AS/400 上创建 *FILE 类型的对象。但是用CRTPF 命令创建的物理文件中的某些参数是用SQL 语句 CREATE TABLE 无法对应的。这些参数是 *FILE 类型的对象属性的一部分,并且会影响到访问该物理文件时的操作环境。所以如果你使用 SQL 语句CREATE TABLE 创建物理文件,OS/400 将使用 CRTPF 命令的默认值与之对应。下面逐一介绍这些参数:
最大成员数(MAXMBR):
物理文件可以是多成员的,但是所有用 SQL 语句 CREATE TABLE 创建的表只能有一个成员。
CRTPF 命令中 MAXMBR 参数的默认值为1。
成员大小(SIZE):
OS/400 用记录数量来指示初始化给该物理文件分配的空间大小,以及超出初始空间后如何分配额外的空间。
CRTPF 命令初始10000条记录的空间,最大扩展至13000条记录空间,每次增长1000条记录空间。
CREATE TABLE 语句的默认值为 *NOMAX。
重复使用已删除记录/删除记录百分比(REUSEDLT/DLTPCT):
当一条记录被删除后,先前被它所占用的空间将保留在文件空间中,不会被删除。参数 REUSEDLT(*YES/*NO) 决定新插入的记录是否重复使用原来被删除的记录的物理空间。参数 DLTPCT 是被删除记录数与所有活动记录的百分比数值。当关闭物理文件时,删除的记录数量超过这个百分比时,历史记录中会显示信息: CPF4653 -- 成员xxx超出了DLTPCT的数值。
CRTPF 命令默认值为: REUSEDLT(*NO), DLTPCT(*NONE)
CREATE TABLE 语句默认值为: REUSEDLT(*YES), DLTPCT(*NONE)
二.如何在AS/400?SQL?查询中实现条件表达式语法规则:Case语句--当对不同条件产生不同的结果值时,可使用Case语句。--Case语句计算所有定义的条件,并按条件是否为真而返回结果。语法如下: CASE [input_expression]
WHEN when_expression
THEN result_expression
[ELSE else_expression]
END
Input_expression 是任何有效的SQL Server表达式或布尔表达式。When_expression 是任何有效的SQL?--Server表达式或布尔表达式。这个表达式和Input_expression比较,如果Input_expression没有定义,则When_expression应该是一个布尔表达式。Result_expression 是任何有效的SQL Server表达式。如果When_expression和Input_expression的比较返回TRUE(如果定义了Input_expression)或When_expression的值为TRUE,则计算表达式,并返回其结果。否则计算Else_expression中的表达式,并返回其结果。
【AS/400】行动态SQL
动态分non-select和select两种。non-select包括insert、update和delete。那如何在动态最重要的是动态的合成。合成动态SQL有两种方法。第一种是直接用字符串合成,例子如下: SQLstm = UPDATE PTRLIB/CUSTOM +
?????? SET NAME = +%trim(namec)++?
WHERE CUST = +%trim(custc)+
这里最重要的是红色部分。一定要注意单引号的数量。第二种是在SQL中预留要填充的位置,例子如下:SQLstm = update ptrlib/custom +? ????SET NAME = ? WHERE +?
?? ? CUST = ?
这里与上面不同的是具体的值是用?来代替的。d SQLstm s 1024a INZ(*blanks) VARYING
d custc s 5a INZ(A0001)
d namec s 20a INZ (Lucy and Lily)
您可能关注的文档
- AQ2046-2012石油行業安全生产标准化工程建设施工实施规范(报批稿).doc
- AQ3013-2008《危險化学品从业单位安全标准化通用规范_》.doc
- AQ3013-2008危險化学品从业单位安全标准化通用规范.doc
- AQ3013—2008危險化学品从业单位安全标准化通用规范.doc
- AQ3036-2010危險化学品重大危险源罐区现场安全监控装备设置规范.doc
- AQ3036—2010危險化学品重大危险源罐区现场安全监控装备设置规范(2011-05-01).doc
- AQ3045-2013化工企業定量风险评价导则.doc
- AQ3045—2013車用乙醇汽油储运安全规范.doc
- AQ4113-2008煙花爆竹企业安全评价规范.doc
- AQ4220-2012石材加工工藝防尘技术规范.doc
文档评论(0)