Create table test1(
MSG_TIME DATE,
RECORD_ID NUMBER(10),
SORT_IP NUMBER(10),
DEST_IP NUMBER(10),
SORT_PORT NUMBER(10),
DEST_PORT NUMBER(10),
PROTOCOL_TYPE NUMBER(3),
PHY_SORT_IP VARCHAR2(256),
PHY_DEST_IP VARCHAR2(256),
USER_NAME VARCHAR2(256),
PASSWORD VARCHAR2(256),
DOMAIN VARCHAR2(256),
constraint pri1 primary key(user_name, password, sort_ip, dest_ip))
partition by range(upper (substr(user_name, 0,1))) //这里出现错误
{
partition p1 values less than('E'),
partition p2 values less than('I'),
partition p3 values less than('N'),
partition p4 values less than('T'),
partition p5 values less than('X'),
partition p6 values (DEFAULT)
};本人想实现的功能是提取user_name中的第一个字母,然后更换为大写,再写库。报的错误是:
ORA-00907:错误是右括号。谢谢。
MSG_TIME DATE,
RECORD_ID NUMBER(10),
SORT_IP NUMBER(10),
DEST_IP NUMBER(10),
SORT_PORT NUMBER(10),
DEST_PORT NUMBER(10),
PROTOCOL_TYPE NUMBER(3),
PHY_SORT_IP VARCHAR2(256),
PHY_DEST_IP VARCHAR2(256),
USER_NAME VARCHAR2(256),
PASSWORD VARCHAR2(256),
DOMAIN VARCHAR2(256),
constraint pri1 primary key(user_name, password, sort_ip, dest_ip))
partition by range(upper (substr(user_name, 0,1))) //这里出现错误
{
partition p1 values less than('E'),
partition p2 values less than('I'),
partition p3 values less than('N'),
partition p4 values less than('T'),
partition p5 values less than('X'),
partition p6 values (DEFAULT)
};本人想实现的功能是提取user_name中的第一个字母,然后更换为大写,再写库。报的错误是:
ORA-00907:错误是右括号。谢谢。
谢谢你的回帖,错误出在 partition by range(upper (substr(user_name, 0,1)))
报错是:缺失右括号。
MSG_TIME DATE,
RECORD_ID NUMBER(10),
SORT_IP NUMBER(10),
DEST_IP NUMBER(10),
SORT_PORT NUMBER(10),
DEST_PORT NUMBER(10),
PROTOCOL_TYPE NUMBER(3),
PHY_SORT_IP VARCHAR2(256),
PHY_DEST_IP VARCHAR2(256),
USER_NAME VARCHAR2(256),
PASSWORD VARCHAR2(256),
DOMAIN VARCHAR2(256),
constraint pri1 primary key(user_name, password, sort_ip, dest_ip))
partition by range(user_name)
(
partition p1 values less than('E'),
partition p2 values less than('I'),
partition p3 values less than('N'),
partition p4 values less than('T'),
partition p5 values less than('X')
)
-------------------------
partition p6 values less than(MAXVALUE)
ORA-14020 出现错误:不能指定表分区的此物理属性
另外我只是对第一字母进行比较,直接这样比较可以吗?