在db2中,如何在某个用户下创建表
1个回答
展开全部
DB2里面有一个schema(模式)的概念,你要创建把表创建到某个用户下面,只需要在创建表的时候指定表的模式,当然首先需要在那个模式下面创建表的权限。
比如你是user1, 想要创建表到user2下面,默认情况下用user1登陆的时候,表是创建在user1模式下面的。
如下:
db2==> connect to TESTDB user user1 using "xxxxxx"
db2==> create table user2.tbl1(id int not null primary key, c1 char(20))
这样,创建的表就在user2这个模式下面了。
比如你是user1, 想要创建表到user2下面,默认情况下用user1登陆的时候,表是创建在user1模式下面的。
如下:
db2==> connect to TESTDB user user1 using "xxxxxx"
db2==> create table user2.tbl1(id int not null primary key, c1 char(20))
这样,创建的表就在user2这个模式下面了。
更多追问追答
追问
这样确实可以创建好表,但是tbl1在哪放着啊,属于那个数据库啊。我能查询出来但是在控制中心中找不到。
还有user2是用户还是模式名啊,一个用户下可以有多个模式的啊
追答
tbl1仍然是属于user1用户的, 指定的user2只是一个模式名。
你说要求的功能是user1创建的表, user2也可以访问吧? 你只需要把用户1创建的表对user2授权就可以了。
如下:
GRANT SELECT,INSERT,UPDATE,DELETE,CONTROL,ALTER,INDEX,REFERENCES ON TABLE USER2.TBL1 TO USER USER2;
(上面把所有的权限都列举出来了,你也已只授予user2部分的权限,比如: select权限)
这样你在控制中心的里面,用User2就可以看到了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询