default tablespace

In DB2, how do I assign a default tablespace to a user? User MYUSER should have a default tablespace of MYDATA.

In other words, when a CREATE TABLE statement is executed by MYUSER and the IN TABLESPACE clause is not specified, the table should be created in tablespace named MYDATA.
Who is Participating?
momi_sabagConnect With a Mentor Commented:

if you don't specify the in clause, db2 will search for a tablespace by this algorythem :

IF table space IBMDEFAULTGROUP (over which the user
  has USE privilege) exists with sufficient page size
    THEN choose it
ELSE IF a table space (over which the user has USE privilege)
  exists with sufficient page size (see below when
  multiple table spaces qualify)
    THEN choose it
ELSE return an error (SQLSTATE 42727)

If more than one table space is identified by the ELSE IF condition, choose the table space with the smallest sufficient page size. If more than one table space qualifies, choose the table space in the following order of preference, depending on to whom the USE privilege was granted:

The authorization ID
A group to which the authorization ID belongs
If more than one table space still qualifies, the final choice is made by the database manager.

i got that from

The first available tablespace for user with USE privileage will be used to store the table if the IN clause is not specified in CREATE TABLE.

If there are more than one regular tablespace with USE privileage for the user, i bielieve it picks the one which was created first.. with the CREATION TIME.
mbevilacquaAuthor Commented:
So DB2 does not support users being assigned a default tablespace. Very strange...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.