我---7号斋主人

已婚
爱老婆
I wanna be a happy fish...

星期三, 二月 28, 2007

ORACLE SQL FAQ(转)

Q1.怎样创建表?

A. CREATE TABLE ROYAL_MTABLE
(
RM_INT_FIELD INTEGER,
RM_STR_FIELD VARCHAR2(64)
)

CREATE TABLE ROYAL_DTABLE
(
RD_INT_FIELD INTEGER,
RD_STR_FIELD VARCHAR2(32)
)

Q2.怎样删除表?

A. DROP TABLE ROYAL_DTABLE;

Q3.怎样创建视图?

A. CREATE OR REPLACE VIEW ROYAL_MDVIEW AS

SELECT T1.RM_STR_FIELD AS F1, T2.RD_STR_FIELD AS F2 FROM ROYAL_MTABLE T1, ROYAL_DTABLE T2

WHERE T1.RM_INT_FIELD = T2.RM_INT_FIELD

Q4.怎样删除视图?

A. DROP VIEW ROYAL_MDVIEW;

Q5.怎样给表添加字段?

A. ALTER TABLE ROYAL_DTABLE ADD RM_INT_FIELD INTEGER;

Q6.怎样删除表中某个字段?

A. ALTER TABLE ROYAL_DTABLE DROP COLUMN RM_INT_FIELD;

Q7.怎样给某个字段添加约束?

A. ALTER TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NOT NULL;

Q8.怎样去除某个字段上的约束?

A. ALTER TABLE ROYAL_MTABLE MODIFY RM_STR_FIELD NULL;

Q9.怎样给表加上主键?

A. ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT PK_ROYAL_MTABLE PRIMARY KEY (RM_INT_FIELD);

Q10.怎样删除表的主键?

A. ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT PK_ROYAL_MTABLE CASCADE;

Q11.怎样给表添加一个外键?

A. ALTER TABLE ROYAL_DTABLE ADD CONSTRAINT FK_ROYAL_DTABLE FOREIGN KEY (RM_INT_FIELD) REFERENCES ROYAL_MTABLE (RM_INT_FIELD) ON DELETE CASCADE;

Q12.怎样删除表的一个外键?

A. ALTER TABLE ROYAL_DTABLE DROP CONSTRAINT FK_ROYAL_DTABLE;

Q13.怎样给字段加上CHECK?

A. ALTER TABLE ROYAL_MTABLE ADD CONSTRAINT CHK_RM_STR_FIELD CHECK (RM_STR_FIELD IN ('Y','N'));

Q14.怎样去掉字段上的CHECK?

A. ALTER TABLE ROYAL_MTABLE DROP CONSTRAINT CHK_RM_STR_FIELD;

Q15.怎样给字段设置默认值?

A. ALTER TABLE ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT 'ROYAL';

Q16.怎样移去字段的默认值?

A. ALTER TABLE ROYAL_DTABLE MODIFY RD_STR_FIELD DEFAULT NULL;

Q17.怎样创建索引?

A. CREATE UNIQUE INDEX IDX_ROYAL_DTABLE ON ROYAL_DTABLE (RM_INT_FIELD);

Q18.怎样删除索引?

A. DROP INDEX IDX_ROYAL_DTABLE;

Q19.怎样创建用户?

A. CREATE USER TESTUSER IDENTIFIED EXTERNALLY DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT;

Q20.怎样删除用户?

A. DROP USER TESTUSER CASCADE;

Q21.怎样将对象权限(object privileges)授予用户?

A. GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO TESTUSER;

GRANT INSERT, UPDATE, DELETE ON ROYAL_DTABLE TO TESTUSER;

GRANT SELECT, ALTER ON ROYAL_DTABLE TO TESTUSER WITH GRANT OPTION;

Q22.怎样从用户收回对象权限?

A. REVOKE SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_DTABLE FROM TESTUSER;

Q23.怎样将角色权限(role privileges)授予用户?

A. GRANT CONNECT TO TESTUSER WITH ADMIN OPTION;

GRANT DBA TO TESTUSER;

Q24.怎样从用户收回角色权限?

A. REVOKE DBA FROM TESTUSER;

Q25.怎样将系统权限(system privileges)授予用户?

A. GRANT ALTER ANY TABLE TO TESTUSER WITH ADMIN OPTION;

Q26.怎样从用户收回系统权限?

A. REVOKE ALTER ANY TABLE FROM TESTUSER;

Q27.怎样创建序列?

A. CREATE SEQUENCE RM_INT_FIELD_SEQ

MINVALUE 1

MAXVALUE 999999999999999999999999999

START WITH 1

INCREMENT BY 1

CACHE 10

ORDER;

Q28.怎样删除序列?

A. DROP SEQUENCE RM_INT_FIELD_SEQ;

Q29.怎样获取序列值?

A. SELECT RM_INT_FIELD_SEQ.NEXTVAL FROM DUAL;

Q30.怎样创建角色?

A. CREATE ROLE TESTROLE;

Q31.怎样删除角色?

A. DROP ROLE TESTROLE;

Q32.怎样将对象权限(object privileges)授予角色?

A. GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE TO TESTROLE;

Q33.怎样从角色收回对象权限?

A. REVOKE SELECT, INSERT, UPDATE, DELETE, ALTER ON ROYAL_MTABLE FROM TESTROLE;

Q34.怎样将角色权限(role privileges)授予角色?

A. GRANT DBA TO TESTROLE;

Q35.怎样从角色收回角色权限?

A. REVOKE DBA FROM TESTROLE;

Q36.怎样将系统权限(system privileges)授予角色?

A. GRANT CREATE TABLE TO TESTROLE;

Q37.怎样从角色收回系统权限?

A. REVOKE CREATE TABLE FROM TESTROLE;

Q38.不等于条件有哪几种写法?(茴香豆问题:))

A. SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD != 'Y';

SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD ^= 'Y';

SELECT * FROM ROYAL_MTABLE WHERE RM_STR_FIELD <> 'Y';

Q39.like子句的用法?

A. SELECT * FROM ROYAL_DTABLE WHERE RD_STR_FIELD LIKE '%Y%';

SELECT * FROM ROYAL_DTABLE WHERE RD_STR_FIELD LIKE '_Y%';

Q40.请举出一个where子查询简单例子?

A. SELECT * FROM ROYAL_DTABLE WHERE RM_INT_FIELD IN (SELECT RM_INT_FIELD FROM ROYAL_MTABLE WHERE RM_STR_FIELD NOT IN ('Y','B'));

Q41.Oracle常用字符串处理函数有哪些?

A. || 连接两个字符串; LENGTH 字符串长度; TRIM/LTRIM/RTRIM 截断串左(右)指定字符串(包括空串); LOWER/UPPER 将字符串转换为小/大写,等等。

例如:SELECT RM_INT_FIELD||'--'||RM_STR_FIELD||'YES' FROM ROYAL_MTABLE;

Q42.Oracle支持哪些数字处理函数?

A. Oracle支持所有常用数字函数,包括(但不限于)+、-、*、/、ABS、COS、EXP、LN、LOG、MOD、POWER、ROUND、SIN、 SINH、SQRT、TAN、TRUNC、AVG、COUNT、MAX、MIN、SUM、GREATEST、LEAST等等。

例如:

SELECT GREATEST(3, 4, 5)*4 FROM DUAL;

SELECT POWER(2,3) FROM DUAL;

Q43.怎样取得数据库服务器当前日期、时间?

A. SELECT SYSDATE FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM DUAL;

Q44.怎样将字符串转换为日期、时间格式?

A. SELECT TO_DATE('2002-11-27', 'YYYY-MM-DD') FROM DUAL;

SELECT TO_DATE('2002-11-27 09:28:55', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;

Q45.常用日期函数有哪些?

A. NEXT_DAY LAST_DAY ADD_MONTHS MONTHS_BETWEEN等等。

例如:SELECT LAST_DAY(SYSDATE) FROM DUAL;

Q46.能给出一个DECODE函数用法的例子吗?

A. DECODE函数的格式为DECODE(value, if1, then1, if2, then2...,else)。假设表ROYAL_DTABLE中有如下数据:

RD_INT_FIELD RD_STR_FIELD RM_INT_FIELD
--------------------------------------
1 royal 1
2 bill 2
3 joy 1

请观察如下SQL语句输出结果。
SELECT DECODE(RD_STR_FIELD, 'royal', 'royaltest', 'bill', 'billgates', RD_STR_FIELD) AS DC FROM ROYAL_DTABLE;
DC
---------
royaltest
billgates
joy

Q47.能给出一个group by、having和order by用法的例子吗?

A. SQL> SELECT * FROM ROYAL_MTABLE;

RM_INT_FIELD RM_STR_FIELD
-------------------------
1 Y
2 N
3 Y

SQL> SELECT * FROM ROYAL_DTABLE;

RD_INT_FIELD RD_STR_FIELD RM_INT_FIELD
--------------------------------------
1 royal 1
2 bill 2
3 joy 1

SQL> SELECT RM_INT_FIELD, SUM(RD_INT_FIELD) FROM ROYAL_DTABLE GROUP BY RM_INT_FIELD HAVING SUM(RD_INT_FIELD) >= 2 ORDER BY SUM(RD_INT_FIELD) ASC;

RM_INT_FIELD SUM(RD_INT_FIELD)
------------------------------
2 2
1 4

Q48.Oracle有哪些常用数据字典?

A. USER_TABLES(TABS)、USER_TAB_COLUMNS(COLS)、USER_VIEWS、USER_SEQUENCES(SEQ)、 USER_CONSTRAINTS、USER_CONS_COLUMNS、USER_TAB_COMMENTS、USER_COL_COMMENTS、 USER_INDEXES(IND)、USER_IND_COLUMNS、USER_USERS、DBA_USERS、ALL_USERS、 USER_TABLESPACES等等。

例如:SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'FK_ROYAL_DTABLE';

Q49.怎样将日期、时间插入date型字段中?

A. INSERT INTO ROYAL_MTABLE (RM_INT_FIELD, RM_STR_FIELD, RM_DATE_FIELD) VALUES (9, 'Y', TO_DATE('2002-05-23', 'YYYY-MM-DD'));

INSERT INTO ROYAL_MTABLE (RM_INT_FIELD, RM_STR_FIELD, RM_DATE_FIELD) VALUES (10, 'Y', TO_DATE('2002-10-10 8:23:33', 'YYYY-MM-DD HH:MI:SS'));

Q50.能介绍一下connect by的用法吗?

A. connect by子句提供了遍历“树”的手段。

假设有这样一个表:CREATE TABLE ROYAL_TREETABLE (ID INTEGER, PARENT_ID INTEGER, NAME VARCHAR2(32));

表中有如下数据:

ID PARENT_ID NAME
-----------------
2 1 AAA
3 1 BBB
4 2 CCC
5 2 DDD
6 4 EEE
8 7 GGG

假如我们现在需要从NAME = 'EEE'的记录开始,向上查找所有有父子关系的记录,可执行如下SQL语句:

SELECT * FROM ROYAL_TREETABLE START WITH NAME = 'EEE' CONNECT BY ID = PRIOR PARENT_ID;

ID PARENT_ID NAME
-----------------
6 4 EEE
4 2 CCC
2 1 AAA

-完-

愛,行爲

今天突然一個老友发了一段小词過來,共赏一下:

“愛”中间有个心,即爱是要用心,用了心的爱才是爱,爱是责任,不管生老病死、贫穷富有都不离不弃,爱是忠贞,就是不管美丑尊卑都不以任何借口而背叛,爱是包容,爱一个人的美丽不算爱,爱上他所有的缺点和丑陋才是真的爱。

其實也許道理大部分都懂,但是又有幾個人能做到呢?我這個人一向不会也不喜歡用做到和做不到這種刻薄的方式去判斷一個人,我認爲做到/做不到根本不重要,主要是真心去想去努力去作爲方嚮就足够了,行爲思想統一。正如所有的宗教信仰一樣,再怎麽虔誠的信徒,也做不到成爲第二个基督(无宗教偏見,在此只是以基督教为例),但是他們只要有虔誠的心,努力的去做,付諸于具體的行爲,就足够了,身心都達到了滿足,也使得自己离理想的境界越来越近。

星期二, 二月 27, 2007

春节后的差旅生活

杭州,我又来了。
今天是第三天了,春节累的个半死后,来杭州西湖边渡假,多惬意(我想能是这么样啊...)。
------------
杭州是个很好的城市,我喜欢这儿,我喜欢这街道干净,绿化带就是绿化带,不是灰化带,晚上从窗外看出去,灯光污染谈不上,恰到好处,现在这个时候,街上人已经很好了,我很喜欢我们这个饭店旁边的这些小街道,行人,自行车,摩托车,汽车都在一个道上行使,十字路口没有红灯,但是机动车都很自觉很有条理的避让,如果能在天台上,靠着栏杆,吹着现在的春风,捧杯whisky来享受这样的夜景真是太好了,人不多(人多最烦),灯不多(灯多躁)“酒的好喝,正是因为它难喝...”电视里突然传来这样一句,也许真的是这样吧,但是往往人是在开心的时候/不开心的时候都会想到找酒来喝,其实我就不这么认为,我觉得喝酒一定要在惬意的时候,放松的时候去喝,慢慢的喝...那中滋味,正点!
--------------------
今天领导来杭州了,仅半天不到的时间,我又多了一堆事情要做,好烦啊,一件接一件,我对于MIS这样的系统真是受够了,没有创意,完全围绕着一帮非专业人士提出的凌乱的需求在打圈圈,无聊透顶。
------------------
今天女人有点不开心,他对男人很容易产生误会,不知道为什么,男人其实春节后觉得自己長大了,心胸放宽了很多,每一次男人在一次严重/不严重的争吵之后都能自我疗伤并成长(说的也太高尚了),可是如果女人还在原地踏步,也让男人很是担心,担心这样距离会不会越来越远,男人不是有耐心的动物,但是“我们警察办案可以很有耐心,为什么不能对自己身边的女人多一点耐心呢?”(电视里说的),听了这样的话后,又觉得人应该随着成长耐心也应该原来越多,即使女人和男人是不同的动物,可是女人也是人,是这样的。

看电视里的男人和女人相处的真是自然,没有争吵,只有理解、支持、温柔、关怀和甜蜜等等,所有幸福的感觉,可是呢我觉得这样也不是很正常,没有争吵根本不可能嘛,这个世界,想没有压力太难了,有压力,就会有烦恼,就会有情绪,如果有了这样的东西,如果不发泄出来会怎样?会像气球涨到爆炸,因为破坏了某种平衡。如果发泄,又怎会没有争吵?有人说,那是EQ的问题,又或者,为什么一定要跟女人表现出来最终演变为争吵或者其他?那我觉得,女人是男人最亲的人,男人也是女人最亲的人,不互相表现,要跟谁表现?如果真有了那样一个人,那么是否女人/男人心里会多了些许酸楚?吼吼,写日记,写BLOG,写书,也可以说,也许这是让敏感类的男人/女人相处最合适的一种办法。

电视里,男人已经开始实施复仇计划了,女人没有察觉到,足以证明,没有争吵不代表就是好,这电影我看过,男人最后杀了女人(误杀)和女人的父亲。

还是有争吵,正常些,顾及到对方的感受和双方的感情就行了,随着了解、理解的不段加深,误解自然就少了。
------------------

我的女人呢?

星期一, 二月 26, 2007

接吻密语

接吻的功效是很大的,刚才瞟到一篇文章,介绍了很多接吻的副作用,详细如下:
转自《周末画报》第425期生活版C60

星期日, 二月 25, 2007

贝克辛斯基的画



贝克辛斯基的画是忒神秘了,不才我绝对没能力欣赏得了的,可是看了又真的能让我他妈的有种发泄的感觉,死亡,恐惧,地狱...近乎诡异!之前也曾经发过。
随感,会继续上传。

为什么?

可笑,明天我要走了(春节假期结束了),我老婆一个人呼呼大睡过去了。
年也终于过完了,真是有种超脱的感觉...

我傻坐这良久,可是我真的找不到让我心情好起来的方法,只有NB喇叭种传出来的轻柔的JAZZ,给我带来些许平静,知道么?夜深人静的时候,用音质不要很好的喇叭听JAZZ的感觉,其实很好的,能有让人去回味黑膠唱片的意思。

厌恶这个丑陋的充满虚伪人性的世界...NONONO,我绝对不会想去KILL MYSELF的,我只是恶心一些东西,经历到这样,真的让人生充满了污点,我称之为报应...有些时候,人还真的不得不信命,Q精神,只是为了给自己的一些烦恼,憎恶,罪恶...找个借口罢了。

生活就像被强奸,如果反抗不了,就去享受吧。NND,我是个男人,男人被强奸还是一样痛苦,怎么去享受啊?