我创建了一个名为USERLOG的新表,其中包含前一个VIEW中的两个字段.该表已包含约9000条记录.从VIEW获取的两个字段,即weblog_views包括IP(由IP地址组成)和WEB_LINK(由URL组成).这是我用的代码,
CREATE TABLE USERLOG
AS
SELECT C_IP, WEB_LINK FROM weblog_views;
Run Code Online (Sandbox Code Playgroud)
我想在此表中添加另一个名为USER_ID的列,该列包含一个以1到9000条记录开头的序列,以便为每个现有行创建唯一的ID.我需要这方面的帮助.我使用的是Oracle SQL Developer:ODMiner 3.0.04版.我尝试使用AUTO-INCREMENT选项,
ALTER TABLE USERLOG
ADD USER_ID INT UNSIGNED NOT NULL AUTO_INCREMENT;
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误,
Error report:
SQL Error: ORA-01735: invalid ALTER TABLE option
01735. 00000 - "invalid ALTER TABLE option"
Run Code Online (Sandbox Code Playgroud)
所以,我真的很感激我能得到的任何帮助!
我有一个带列的excel文件,
C_IP
SESSION_ID
CS_USER_AGENT
CS_URI_STEM
CS_URI_QUERY
WEB_LINK
Run Code Online (Sandbox Code Playgroud)
由于Oracle(11g)中允许的字符串大小的限制,我无法聚合上述属性.我试图使用用户定义的聚合函数.我想聚合"WEB_LINK"列,并按C_IP进行分组.是否可以在Excel中执行此操作?
我试图使用的SQL查询是,
CREATE TABLE WEBLOG_AGG AS
SELECT C_IP,
tab_to_string(CAST(COLLECT(WEB_LINK) AS T_VARCHAR2_TAB)) AS WEBLINKS
FROM WEBLOG_SESSION
GROUP BY C_IP;
Run Code Online (Sandbox Code Playgroud)