DB2数据库引入了模式的概念,即schema。
对DB2而言,一个数据库系统可以有多个实例,一个实例可以对应多个数据库。
DB2没有数据库级别的用户,只有系统用户。
用户和数据库间有模式的存在,一个用户可以设置多个模式,但是一个模式只能对应一个数据库。
一般而言,如果要引用DB2的数据库对象时,是以 schema.对象 的格式出现的,如果当前schema与要查询的数据库的schema不同,就会报错--无法找到XXX.对象。
模式即schema,如果用户有隐氏模式(implicit schema)权限,在建系统的时候就会默认创建一个隐式的与用户名相同的schema。
用一个用户登录数据库,可以查询当前schema,然后确认是否是自己想要的schema(即是否是当前想连接的数据库的schema),可以通过语句将创建schema并赋给用户。
查询当前schema : select current schema from sysibm.sysdumm1
设置当前schema: set current schema <schema_name>
创建schema并赋给用户: create schema <schema_name> [Authorization <schema_owner_name>]