我们教授分配给我们的任务表明我们需要做以下事情:
将包含SQL语句的sql脚本文件提交到以下问题
然而,在非讲座中他使用了术语集合,我总是听到图书馆和其他一些东西。什么是收藏品?
我使用notepad ++并将语言设置为SQL,然后输入
创建集合但是,以蓝色创建高光,但集合没有分配颜色(图书馆也没有)。
当我尝试谷歌搜索答案时,我从IBM那里得到了这个
“SQL集合是放置表,视图,索引和包的基本对象”
所以一个集合只是一个图书馆不是吗?
所以如果是这种情况,那么在iSeries(AS / 400)中我会在命令行上输入
CREATE COLLECTION ASSIGN1
但是在脚本中会是同样的事情吗?
感谢您的时间。
修改 的 我的教授给我发了一个例子,一个.sql文件在iSeries程序中打开,名为“Run SQL Scripts”,然而,他没有解释任何内容,只是把这个作为一个例子发送给我.....所以是假设Collection与创建库相同是安全的吗?
CREATE COLLECTION FARA042;
CREATE TABLE FARA043.EMPLOYEE (
EMP_NUM VARCHAR(10) CONSTRAINT FARA043.EMPLOYEE_PK PRIMARY KEY,
EMP_FNAME VARCHAR(50),
EMP_LNAME VARCHAR(50));
SELECT * FROM FARA043.SYSTABLES;
SELECT * FROM FARA043.SYSCOLUMNS
WHERE TABLE_NAME = 'CHARTER';
答案 0 :(得分:2)
你是对的。在 IBM i (以前称为iSeries,System i)中,术语Library
,COLLECTION
和SCHEMA
都指向相同的内容。 IBM现在使用术语SCHEMA
而不是术语COLLECTION
来符合更新的SQL标准,但它们是同义词。但是,术语COLLECTION
已被弃用,因此不应再使用。
CRTLIB
和`CREATE SCHEMA'(或创建收集)之间存在一些细微差别。
CL command CRTLIB
允许您指定library的描述,就像任何IBM i对象都有对象描述一样。您还可以指定在有人调试时是否将库视为*PROD
或*TEST
库。在IBM i上,当开发人员开始调试时,其中一个设置是一个安全功能,指示是否允许会话更新*PROD
库中的文件(表)。
另一方面,SQL CREATE SCHEMA
statement不仅创建了一个库,而且还使用目录视图和自动数据库日志记录(日志记录)进行设置。
在SQL中创建模式后,您可以返回CL并使用CHGLIB
command来设置库类型和描述,从而获得两种方法的好处。
另一个区别是,SQL CREATE SCHEMA
语句允许您创建{i}比IBM i 10-character标准names longer的模式。如果您这样做,我强烈建议您使用FOR SYSTEM NAME
子句为其提供有效的10个字符的OS对象名称,否则操作系统将被强制生成10个字符的库名称。