重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
UID只是数据库的一个记录号,每个数据库的记录号不一样,类似于ROWID、ROWNUM。
创新互联建站专注于甘德网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供甘德营销型网站建设,甘德网站制作、甘德网页设计、甘德网站官网定制、小程序定制开发服务,打造甘德网络公司原创品牌,更为您提供甘德网站排名全网营销落地服务。
SELECT du.username, du.user_id
FROM dba_users du
首先:UID,DATE 属于ORACLE关键字,字段名不能是UID,DATE。
所以需要改个名字:
UID-- CUSTID
DATE -- ORD_DATE
-- 字符型日期:
select
custid
from t_order
where ord_date between '20091001' and '20091031'
group by custid
having count(distinct ord_date)1 ;
-- 日期类型日期:
select
custid
from t_order
where ord_date between to_date('20091001','yyyymmdd')
and to_date('20091101','yyyymmdd')
group by custid
having count(distinct to_char(ord_date,'yyyymmdd') )1 ;
你不用管它uid和gid,uid和gid分别是用户的id和组的id,你只要把这个用户加到那个默认组里就可以了。usermod可以直接用组名,不一定非要用组的id。
oracle默认的数据库用户组是oinstall,这个组可以创建数据库等。建议的数据库操作组是dba(其实你安装的时候不选,它就会把这一项默认选成oinstall)
创建用户的时候useradd -g oinstall -G dba oracle
你已经改了,就这样修改 usermod -g oinstall -G dba oracle
其实加入dba组我觉得没什么必要,直接usermod -g oinstall 就ok了
在mysql中,数据表的主键是 auto increment
在oracle中,不支持 auto increment
table 标签中添加generateKey 子标签,同时需要在oracle中创建sequence。示例:
mysql的排序语句
在oracle中不支持,直接换成
即可
mysql的模糊查询语句
oracle中的concat只支持两个参数,会报参数个数错误,替换成下面的
or
注意,mysql中不支持用 || 的模糊查询
mysql中的别名可以使用uid,但是uid在oracle中是一个保留关键字。替换成oracle之后,注意有别名设置成uid的别名语句是不能通过执行的。(报找不到 from关键字)
constraint:约束条件 在Oracle中有几种constraint用来约束table确保其数据的完整性,例如: Check Constraint,Not Null Constraint, Primary Key Constraint,References Constraint。 举例:CREATE TABLE STUDENT ( STUDENT _ID NUMBER(3) CONSTR.
看下面的例子:
SQL DROP TABLE k;
Table dropped
-- 建立表K,字段名为UID(oracle关键字)
SQL CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-00904: : invalid IDENTIFIER
-- 字段名加""表创建成功
SQL CREATE TABLE k("UID" INT);
Table created
--插入一些数据
SQL INSERT INTO k VALUES(1);
1 row inserted
SQL INSERT INTO k VALUES(2);
1 row inserted
SQL INSERT INTO k VALUES(3);
1 row inserted
-- 查询时加不加""都正常(似乎不太符合规范,UID 可能是比较特殊的关键字???)
SQL SELECT UID FROM k;
UID
----------
5
5
5
SQL SELECT "UID" FROM k;
UID
---------------------------------------
1
2
3
-- update时必须加上""
SQL UPDATE k SET UID=5 WHERE UID=3;
UPDATE k SET UID=5 WHERE UID=3
ORA-01747: invalid user.table.column, table.column, or column specification
SQL UPDATE k SET "UID"=5 WHERE "UID"=3;
1 row UPDATED
总结:
1. oracle可以在"关键字"的形式引用关键字作为字段名与查询语句的别名。如果不是特殊情况最好
不要使用,以免引起代码编写过程中的错误。
2. 加了""的关键字必须大写。(补充)
-- The End --