我是DB2的新手。
如果不使用架构名称,则无法从表中获取数据。如果我将模式名称和表名称一起使用,则可以获取数据。
示例:
SELECT * FROM TABLE_NAME;
这给了我错误,
SELECT FROM SCHEMA_NAME.TABLE_NAME;
正在获取结果。
我必须设置为不必总是使用架构名称吗?
答案 0 :(得分:0)
尝试使用SET SCHEMA
设置会话中要使用的默认架构:
SET SCHEMA SCHEMA_NAME;
SELECT * FROM TABLE_NAME;
答案 1 :(得分:0)
默认情况下,您的用户名用作不合格对象名称的架构名称。您可以使用来查看当前架构VALUES CURRENT SCHEMA
。您可以使用SET SCHEMA new_schema_name
或通过例如更改当前会话的当前模式。 JDBC连接参数。大多数查询工具还可以指定/更改当前架构。
参见SET SCHEMA https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001016.html的手册页
例如
默认模式隐式地限定了不合格的别名,索引,包,序列,表,触发器和视图名称。
(以上所有假定您使用的是Db2 LUW)
答案 2 :(得分:0)