今天在使用第一種鎖定頁面中輸入方塊 text & textarea 的時候,在某些頁面可以正常執行,但某些頁面不知道是什麼原因,查不到錯誤只好在改成下面的第二種方式
第一種 鎖定 text & textarea
function lostate(){
for (var i = 0; i < savform.elements.length; i++) {
var element = savform.elements[i];
if (['input', 'select', 'textarea'].include(element.tagName.toLowerCase())){
alert(element.tagName.toLowerCase());
//element.blur();
element.disabled = 'false';
}
}
}
第二種 鎖定 text & textarea
function lostate(){
for (var i = 0; i < savform.elements.length; i++) {
if (element.type =="text" || element.type =="button" || element.type =="file"){
element.disabled = "false";
}
}
}
blogspot.com-GA4
星期四, 6月 26, 2008
星期五, 6月 20, 2008
對流血一週仍然不死的動物千萬不能大意(轉)
- 我和超人的唯一區別是:我把內褲穿在裏面了。
- 我不是隨便的人,但隨便起來就不是人。
- 我身在江湖,江湖卻沒有關於我的傳說……
- 寧願相信世間有鬼,也不相信男人那張破嘴!
- 水至清則無魚,人至賤則無敵。
- 騎白馬的不一定是王子,可能是唐僧;帶翅膀的不一定是天使,也可能是"鳥人"。
- 時間和乳溝一樣,擠一擠還是有的。
- 一山不能容二虎,除非一公和一母。
- 對流血一週仍然不死的動物千萬不能大意……
- 我,一個大學生的人生奮鬥目標:農婦,山泉,有點田。
- 一見鍾情,再而死,三而竭。
- 一個人並不孤單,想一個人時才孤單。
- 生,容易。活,容易。生活不容易。
- 流氓不可怕,就怕流氓有文化。
- 男人的謊言可以騙女人一夜,女人的謊言可以騙男人一生!
- 水能載舟,亦能煮粥!
- 你放心,看到你我連食欲都沒了,還談什麼性慾!
- 相親最大的好處是:如果日後婚姻出問題,你可以把責任推給媒人。
- 女人無所謂正派,正派是因為受到的引誘不夠;男人無所謂忠誠,忠誠是因為背叛的籌碼太低……
- 聰明的女人對付男人,而笨女人對付女人。
去年度的10個佳句:
10 . 問世間情為何物?一物剋一物。
09 . 避孕的效果:不成功,便成人。
08 . 錢不是問題,問題是我沒有錢。
07 . 喝醉了我誰也不服,我只要扶牆。
06 . 有錢人終成眷屬。
05 . 火煉金,金煉女人,女人煉男人。
04 . 一山不能容二虎,除非一公一母。
03 . 水能載舟,亦能煮粥。
02 . 鑽石恆久遠,一顆就破產。
01 . 我就像一隻趴在玻璃上的蒼蠅,前途一片光明,但是出路沒有。
其中 對流血一週仍然不死的動物千萬不能大意 原來是.......女人 Orz
星期二, 6月 17, 2008
Bad version number in .class file
星期五, 6月 13, 2008
練英文聽力 - 轉
練英文聽力 : Cheers 快樂工作人
(1) http://www.englishbaby.com
星期一到五每天都有新的對話內容可以學習,也有錄音,錄音的速度近似美國人講話的速度,而且對話內容都是美國人最愛談論的內容,很棒的網站
(2) http://www.esl-lab.com
錄音的速度近似美國人講話的速度,網站的內容也多,練習聽力不可或缺的網站
(3) http://www.liveabc.com
目前有七百多句的英文常用句/俚話等,有錄音,也有中文解釋,可以好好利用
(4) http://www.freexinwen.com/chinese/eng/abc.htm
美國之音中文網,收錄四百多個美國習慣用語,有錄音,中文解說方面更為詳盡
(5) http://home.t-online.de/home/toni.goeller/idiom_wm/index.htm
雖然沒有錄音,解釋也都是全英文,但是我覺得它的版面設計的很好,很容易閱讀,不像很多網站會全部寫在一起,擠成一堆。
(6) http://www.geocities.com/thetropics/resort/5946/
英文烏龍笑話,雖然好像聽起來實用價值不高,但其實都是華人在美國發生的英文糗事,像是如果妳要照相照一個老外,他說他會break your camera,你一定會很生氣,覺得他很粗魯無理,但是他想說的只是,他不上相....跟弄壞你的相機一點關係也沒有
(7) http://engtap.greatnow.com
主要是練習聽力,指定一個topic請學生或是教授來談他們的看法什麼的,雖然不是全部都是美國人錄音,但是可以訓練聽不同口音的英文
(8) http://www.english-trailers.com
看電影的預告片來學英文,在看完預告片後還有填空題,讓你確定你剛剛聽到的是什麼字,很有趣的聽力練習方式
(1) http://www.englishbaby.com
星期一到五每天都有新的對話內容可以學習,也有錄音,錄音的速度近似美國人講話的速度,而且對話內容都是美國人最愛談論的內容,很棒的網站
(2) http://www.esl-lab.com
錄音的速度近似美國人講話的速度,網站的內容也多,練習聽力不可或缺的網站
(3) http://www.liveabc.com
目前有七百多句的英文常用句/俚話等,有錄音,也有中文解釋,可以好好利用
(4) http://www.freexinwen.com/chinese/eng/abc.htm
美國之音中文網,收錄四百多個美國習慣用語,有錄音,中文解說方面更為詳盡
(5) http://home.t-online.de/home/toni.goeller/idiom_wm/index.htm
雖然沒有錄音,解釋也都是全英文,但是我覺得它的版面設計的很好,很容易閱讀,不像很多網站會全部寫在一起,擠成一堆。
(6) http://www.geocities.com/thetropics/resort/5946/
英文烏龍笑話,雖然好像聽起來實用價值不高,但其實都是華人在美國發生的英文糗事,像是如果妳要照相照一個老外,他說他會break your camera,你一定會很生氣,覺得他很粗魯無理,但是他想說的只是,他不上相....跟弄壞你的相機一點關係也沒有
(7) http://engtap.greatnow.com
主要是練習聽力,指定一個topic請學生或是教授來談他們的看法什麼的,雖然不是全部都是美國人錄音,但是可以訓練聽不同口音的英文
(8) http://www.english-trailers.com
看電影的預告片來學英文,在看完預告片後還有填空題,讓你確定你剛剛聽到的是什麼字,很有趣的聽力練習方式
星期四, 6月 12, 2008
星期三, 6月 11, 2008
java 轉換unicode
JDK 內附的 native2ascii tool
http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html#intl
用來將多國語系轉換成為 unicode編碼格式,
可以在瀏覽器中顯示多國語系,
在 UTF8 編碼的jsp頁面中 include 頁面,
其中又包含有中文字,
可用這種方式先進行編碼動作,
在include之後瀏覽器可正常顯示
EX:
unicode到ascii的方式:
native2ascii -reverse 原檔名 轉換檔名
ascii到unicode方式:
native2ascii 原檔名 轉換檔名
範例
aaa.txt文件內容包括:中國
native2ascii aaa.txt bbb.txt
執行後變為:\u4e2d\u56fd
aaa.txt文件內容包括:\u4e2d\u56fd
native2ascii -reverse aaa.txt bbb.txt
執行後變為:中國
http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html#intl
用來將多國語系轉換成為 unicode編碼格式,
可以在瀏覽器中顯示多國語系,
在 UTF8 編碼的jsp頁面中 include 頁面,
其中又包含有中文字,
可用這種方式先進行編碼動作,
在include之後瀏覽器可正常顯示
EX:
unicode到ascii的方式:
native2ascii -reverse 原檔名 轉換檔名
ascii到unicode方式:
native2ascii 原檔名 轉換檔名
範例
aaa.txt文件內容包括:中國
native2ascii aaa.txt bbb.txt
執行後變為:\u4e2d\u56fd
aaa.txt文件內容包括:\u4e2d\u56fd
native2ascii -reverse aaa.txt bbb.txt
執行後變為:中國
星期一, 6月 09, 2008
tomcat5.5連接DBCP
這幾天在弄DBCP的環境
環境:tomcat 5.5、jdk1.5、windowXP SP2
DBCP JAR:commons-dbcp-1.2.2.jar、commons-collections-3.2.jar、commons-pool-1.3.jar
參考文章 TOMCAT
1. 設置 conf\server.xml 在 <Host> ... </Host> 加入以下設定
以上 在 docBase 設定裡面 如果是 ROOT 目錄下的網站就要設定絕對路徑,
如果是 在 webapps 下的 hxxg 目錄的話,設定成
<Context path="/hxxg" docBase="hxxg" ....
2. 設置網站 WEB-INF/web.xml ,在 <web-app> ... </web-app> 加入以下設定,設定對應jdbc來源
3. 測試連線方式1,使用 DataSource 連接
4. 測試連線方式2,使用 jstl 連接
環境:tomcat 5.5、jdk1.5、windowXP SP2
DBCP JAR:commons-dbcp-1.2.2.jar、commons-collections-3.2.jar、commons-pool-1.3.jar
參考文章 TOMCAT
1. 設置 conf\server.xml 在 <Host> ... </Host> 加入以下設定
- <Context path="" docBase="C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/ROOT"
- debug="5" reloadable="true" crossContext="true">
- <Resource name="jdbc/hxxg" auth="Container"
- type="javax.sql.DataSource"
- maxActive="100" maxIdle="10" maxWait="10000"
- username="syxxxx" password="_yoxxxx"
- driverClassName="com.sybase.jdbc3.jdbc.SybDriver"
- url="jdbc:sybase:Tds:172.17.1.5:5000/hxxg?autoReconnect=true"/>
- </Context>
以上 在 docBase 設定裡面 如果是 ROOT 目錄下的網站就要設定絕對路徑,
如果是 在 webapps 下的 hxxg 目錄的話,設定成
<Context path="/hxxg" docBase="hxxg" ....
2. 設置網站 WEB-INF/web.xml ,在 <web-app> ... </web-app> 加入以下設定,設定對應jdbc來源
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/hxxg</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
3. 測試連線方式1,使用 DataSource 連接
- <%@page import="java.sql.*"%>
- <%@ page import="javax.sql.*" %>
- <%@ page import="javax.naming.*" %>
- <%@page contentType="text/html;charset=big5"%>
- <%
- try {
- Context initContext = new InitialContext();
- Context envContext = (Context)initContext.lookup("java:/comp/env");
- DataSource ds = (DataSource)envContext.lookup("jdbc/hxxg");
- Connection conn = ds.getConnection();
- if(!conn.isClosed())
- out.println("資料庫連線測試成功!");
- Statement stmt = conn.createStatement();
- conn.setAutoCommit(false);
- ResultSet rs = stmt.executeQuery("select loginid,password from wb005 ");
- while(rs.next()){
- out.println("loginid:"+ rs.getString("loginid")
- +":password:"+ rs.getString("password"));
- }
- conn.commit();
- conn.close();
- }
- catch(SQLException e) {
- out.println(e.toString());
- }
- %>
4. 測試連線方式2,使用 jstl 連接
- <%@taglib uri="http://java.sun.com/jsp/jstl/sql"
- prefix="sql" %>
- <%@taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c" %>
- <sql:query var="rs" dataSource="jdbc/hxxg">
- select loginid, password from wb005
- </sql:query>
- <html>
- <head>
- <title>DB Test</title>
- </head>
- <body>
- <h2>Results</h2>
- <c:forEach var="row" items="${rs.rows}">
- loginid ${row.loginid}<br/>
- password ${row.password}<br/>
- </c:forEach>
- </body>
- </html>
主要SQL語法詳解
主要SQL語法詳解
CREATE DATABASE database_name [WITH LOG IN 「pathname」]
建立資料庫。
database_name:資料庫名稱。
「pathname」:事務處理日誌檔案。
建立一database_name.dbs目錄,存取權限由GRANT設定,無日誌檔案就不能使用
BEGIN WORK等事務語法(可用START DATABASE語法來改變)。
可選定當前資料庫的日誌檔案。
如:select dirpath form systables where tabtype = 「L」;
例:create databse customerdb with log in 「/usr/john/log/customer.log」;
DATABASE databse-name [EXCLUSIVE]
選擇資料庫。
database_name:資料庫名稱。
EXCLUSIVE:獨佔狀態。
存取當前目錄和DBPATH中指定的目錄下的資料庫,事務中處理過程中不要使用此語法。
例:dtabase customerdb;
CLOSE DATABASE
關閉當前資料庫。
database_name:資料庫名稱。
此語法之後,只有下列語法合法:
CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;
刪除資料庫前必須使用此語法。
例:close database;
DROP DATABASE database_name
刪除指定資料庫。
database_name:資料庫名稱。
使用者是DBA或所有表的擁有者;刪除所有檔案,但不包括資料庫目錄;不允許刪除當前資料庫(須先關閉當前資料庫);事務中處理過程中不能使用此語法,通過ROLLBACK WORK 也不可將資料庫恢復。
例:drop databse customerdb;
CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)
[IN 「pathname」]
建立表或臨時表。
table-name :資料表名稱稱。
column_name:字段名稱。
data-type:字段資料類型。
path-name:指定表的存放位置
TEMP用於指定建立臨時表;資料表名稱要唯一,字段要唯一;有CONNECT權限的使用者可建立臨時表;建立的表預設允許CONNECT使用者存取,但不可以ALTER。
例:create table user
( c0 serial not null, c1 char (10),
c2 char(2),
c3 smallint,
c4 decimal(6,3),
c5 date
) in 「usr/john/customer.dbs/user;
ALTER TABLE
ALTER TABLE table-name
{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)
| MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …
修改表結構。
table-name:資料表名稱稱。
newcol_name:新字段名稱
newcol_type:新字段類型
oldcol_name:老字段名稱
可以使用單個或多個ADD子句、DROP子句、MODIFY子句,但某個字句失敗,操作即中止;原字段是NULL,不允許MODIFY為NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的擁有者或擁有DBA權限,或被授權;事務中處理過程中不要使用此語法。
例:alter table user
add ( c6 char(20) before c5);
RENAME TABLE oldname TO newname
修改資料表名稱。
oldname:原名稱。
newname:新名稱。
RENAME使用者是表的擁有者或擁有DBA權限,或被授權;事務中處理過程中不要使用此語法。
例:rename user to bbb;
DROP TABLE table-name
刪除表。
table-name:資料表名稱稱。
刪除表意味著刪除其中所有資料、各字段上的索引及對表的賦權、視圖等;使用者不能刪除任何系統目錄表;語法使用者是表擁有者或擁有DBA權限,事務中處理過程中不要使用此語法。
RENAME COLUMN table.oldcolumn, TO newcolumn
修改字段名。
table.oldcolumn:資料表名稱及原字段名稱
newcolumn:新字段名稱。
語法使用者是表的擁有者或擁有DBA權限或有ALTER權限的使用者,事務中處理過程中不要使用此語法。
例:rename column user.c6 to c7;
CREATE VIEW view-name column-list
CREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION]
建立視圖。
view-name:視圖名稱。
column-list:字段列表。
select_statement:SELECT語法。
以下語法不使用視圖:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;視圖將延用基表的字段名,對表達式等虛字段和多表間字段重名必須指明標識其字段名;若對視圖中某些字段命名,則所有字段都必須命名;視圖中資料類型延用基表中的資料類型,虛字段起訣於表達式;不能使用ORDER BY和UNION子句;對視圖中所有的字段要有SELECT權限;事務中處理過程中使用此語法,即使事務回滾,視圖也將建立,不能恢復。
例:create view v_user as select * from user where c1 = 「B1」;
DROP VIEW view-name
刪除視圖。
view-name:視圖名稱。
使用者可刪除自己建立的視圖;視圖的後代視圖也被刪除;事務中處理中不要使用此語法。
例:drop view v_user;
CREATE INDEX
CREATE [UNIQUE/DISTINCT] [CLUSTER] INDEX index_name ON table_name
([column_name ASC/DESC],…)
建立索引。
index_name:索引名稱。
table_name:資料表名稱稱。
column_name:字段名稱。
UNIQUE/DISTINCT:唯一索引。
CLUSTER:使表的實際存放順序按索引排列。
ASC/DESC:升序或降序,預設升序。
語法執行時,將表的狀態置為EXCLUSIVE;復合索引最多包含8個字段,所有字段長度和不得大於120字節;事務中處理過程中使用此語法,即使事務回滾,索引將建立,不能恢復。
例:create cluster index ix_user on user(c5);
ALTER INDEX index-name TO [NOT] CLUSTER
修改索引性質。
index-name:索引名稱。
TO [NOT] CLUSTER:去掉或加上CLUSTER屬性。
語法執行時,將表的狀態置為EXCLUSIVE;事務中處理過程中使用此語法,即使事務回滾,索引性質將改變,不能恢復。
例:alter index ix_user to not cluster;
DROP INDEX index-name
刪除索引。
index-name:索引名稱。
語法使用者是索引的擁有者或擁有DBA權限,事務中處理過程中不要使用此語法,否則事務無法恢復。
例:drop index ix_user;
CREATE SYNONYM synonym FOR table-name
建立同義名。
synonym:同義名
table-name:資料表名稱稱
資料庫的建立者可以使用同義名;沒有賦予同義名權限的使用者不能使用同義名;同義名不能和資料表名稱相同;事務中處理過程中不要使用此語法。
例:create synonym user_alias for user;
DROP SYNONYM synonym
刪除同義名。
synonym:同義名
可以刪除自己建立的同義名;事務中處理過程中不要使用此語法,否則無法恢復。
例:drop synonym user_alias;
UPDATE STATISTICS [FOR TABLE table-name]
更新資料庫的統計數字。
table-name:資料表名稱稱
此語法僅作用於當前資料庫;可提高查詢效率;只有執行此語法,才改變統計資料。
例:update statistics for table user;
GRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list}
授權命令。
PUBLIC|user-list:全部或指定的使用者。
三種權限居且僅居其一,事務處理過程中不要執行GRANT語法。
例:grant resource to pulbic;
GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]
授表級權限。
tab-privilege:表級權限。
table-name:資料表名稱稱。
PUBLIC|user-list:全部或指定的使用者。
[WITH GRANT OPTION]:表示被授權使用者有否權限進行二次授權。
使用者可以在自己建立表達式或被[WITH GRANT OPTION]准許的表中進行賦權;限定越多的權限優先級越高。
例:grant update(c1,c6) on user to dick with grant option;
附(INFORMIX的權限)
(1) 資料庫的權限(控制對資料庫的瀏覽以及資料庫中表的建立和刪除)
DBA權限:全部權利,修改系統表,建立和刪除表與索引、增加和恢復表資料,以及授予其他使用者資料庫權限等;
RESOURCE權限:允許對資料庫表中的資料進行存取,建立永久性表以及索引。
CONNECT權限:只允許對資料庫表中的資料進行存取,建立和刪除視圖與臨時表。
(2)表級權限(對表的建立、修改、檢索和更新等權限)
ALTER:更改權限
DELETE:刪除權限
INDEX:索引權限
INSERT:插入權限
SELECT [(cols)]:指定字段或所有字段上的查詢權限,不指明字段預設為所有字段。
UPDATE [(cols)] :指定字段或所有字段上的更新權限,不指明字段預設為所有字段。
ALL [PRIVILEGES]:以上所有表級權限
REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}
收權命令。
PUBLIC|user-list:全部或指定的使用者。
三種權限居且僅居其一,事務處理過程中不要執行GRANT語法。
例:revoke resource from john;
REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list}
收表級權限。
tab-privilege:表級權限。
table-name:資料表名稱稱。
PUBLIC|user-list:全部或指定的使用者。
[WITH GRANT OPTION]:表示被授權使用者有否權限進行二次授權。
使用者只能取消由其本人賦予其他使用者的表級存取權限;不能取消自己的權限,對SELECT和UPDATE作取消時,將取消所有表中字段的SELECT 和UPDATE權限。
例;revoke update on user from dick;
LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE
記錄級加鎖和表級加鎖或檔案加鎖。
table-name:資料表名稱稱。
SHARE:允許讀表中資料,但不允許作任何修改
EXCLUSIVE:禁止其他任何形式瀏覽表
每次只能對表瑣定一次;事務處理過程中,BEGIN WORK後立即執行LOCK TABLE以取代記錄級加鎖,COMMIT WORK和ROLLBACK WORK語法取消所有對表的加鎖;若沒有事務處理,鎖將保持到使用者退出或執行UNLOCK為止。
例:lock table user in exclusive mode;
UNLOCK TABLE table-name
取消記錄級加鎖和表級加鎖或檔案加鎖。
table-name:資料表名稱稱。
例:unlock user;
SET LOCK MODE TO [NOT] WAIT
改變鎖定狀態。
TO [NOT]:等待解鎖,有可能被死鎖或不等待並提示錯誤訊息,表示此記錄被鎖,預設值。
瀏覽一個EXCLUSIVE狀態下的記錄,將返回一個錯誤。
START DATABSE db_name [WITH LOG IN 「pathname」]
啟動事務處理。
「pathname」:事務處理日誌檔案。
執行該語法前,需要先關閉當前資料庫。
例;clost database;
start databse customer with log in 「/usr/john/log/customer.log」;
BEGIN WORK
開始事務。例:begin work;
COMMIT WORK
提交(正常結束)事務。例:commit work;
ROLLBACK WORK
回滾(非正常結束)事務。例:rollback work;
SELECT
SELECT select_list FROM tab_name|view_name
WHERE condition
GROUP BY column_name
HAVING condition
ORDER BY column_list
INTO TEMP table_name
查詢語法。
select_list:選擇表或*
tab_name:資料表名稱稱
view_name:視圖名稱。
condition:查詢條件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、
AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME
column_name:分群組字段名稱
condition:群聚條件
column_list:排序字段列表,預設ASC,可指定DSC;排序時,NULL值小於非零值。
table_name:臨時資料表名稱稱
例:略
附(常用函數)
(1)集合函數:
count(*)、
sum(資料項/表達式)、avg(資料項/表達式)、max(資料項/表達式)、min(資料項/表達式)
count(distinct 資料項/表達式)、sum(distinct資料項/表達式)、avg(distinct資料項/表達式)
(2)代數函數和三角函數
HEX(資料項/表達式)、ROUND(資料項/表達式)、TRUNC(資料項/表達式)、
TAN(資料項/表達式)、ABS(資料項/表達式)、MOD(被除數,除數)
(3)統計函數
標準差,stdev()、方差,variance()、範圍,rang()
(4)時間函數
DAY(日期/時間表達式):返回數字型
MONTH(日期/時間表達式):返回整數
WEEKDAY(日期/時間表達式):0
DATE(非日期表達式):返回日期型
EXTEND(日期/時間表達式,[第一個至最後一個]):返回指定的整數
MDY(月,日,年):返回日期型
CURRENT:返回日期型
(5)時間函數
ROUND(),四捨五入。如:ROUND(10.95,position)position進行四捨五入的前一位置
TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置
INFORMIX臨時表在下列情況下自動取消:
A.退出資料庫瀏覽工具(如DBACCESS)
B.SQL通話結束(DISCONNECT)
C.發出取消表語法
D.退出程式時
INSERT
INSERT INTO view_name|table_name [(column_list)] VALUES (value_list)
或 INSERT INTO view_name|table_name [(column_list)] select_statement
插入資料
view_name|table_name:視圖名或資料表名稱稱
column_list:資料項列表。
value_list:值列表
select_statement:查詢語法。
例:略
DELETE FROM view_name|table_name WHERE search-conditions
刪除語法。
view_name|table_name:視圖名或資料表名稱稱
search-conditions;刪除條件
例:略
UPDATE
UPDATE view_name|table_name SET column_1 = value_1ist WHERE search_conditions
或UPDATE view_name|table_name SET column_1|* = value_1ist WHERE search_conditions
更新資料語法。
view_name|table_name:資料表名稱稱或視圖資料表名稱稱
value_1ist:字段值
search_conditions:更新資料的條件
例:略
CHECK TABLE table-name
檢查索引語法。
語法使用者是表的擁有者或擁有DBA權限;不能對systable使用此語法。
例:略
REPAIR TABLE table-name
修復索引。
語法使用者是表的擁有者或擁有DBA權限;不能對systable使用此語法。
例:略
LOAD FROM 「file-name」 INSERT INTO table_name [(column_name[,…])]
將文本資料栽入表中。
例:load form 「aa.txt」 insert into user;
UNLOAD TO 「pathname」
將表中資料卸為文本。
例:unload to 「aa.txt」 select * from user;
INFO
系統訊息查詢。
INFO TABLES:得到當前資料庫上表的名字。
INFO columns FOR table_name:指定表上的字段訊息。
INFO INDEXES FOR table_name:指定表上的索引訊息。
INFO [ACCESS|PRIVILEGES] FOR table_name:指定表上的存取權限。
INFO STATUS FOR table_name:指定表的狀態訊息。
例: info tables;
CREATE DATABASE database_name [WITH LOG IN 「pathname」]
建立資料庫。
database_name:資料庫名稱。
「pathname」:事務處理日誌檔案。
建立一database_name.dbs目錄,存取權限由GRANT設定,無日誌檔案就不能使用
BEGIN WORK等事務語法(可用START DATABASE語法來改變)。
可選定當前資料庫的日誌檔案。
如:select dirpath form systables where tabtype = 「L」;
例:create databse customerdb with log in 「/usr/john/log/customer.log」;
DATABASE databse-name [EXCLUSIVE]
選擇資料庫。
database_name:資料庫名稱。
EXCLUSIVE:獨佔狀態。
存取當前目錄和DBPATH中指定的目錄下的資料庫,事務中處理過程中不要使用此語法。
例:dtabase customerdb;
CLOSE DATABASE
關閉當前資料庫。
database_name:資料庫名稱。
此語法之後,只有下列語法合法:
CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;
刪除資料庫前必須使用此語法。
例:close database;
DROP DATABASE database_name
刪除指定資料庫。
database_name:資料庫名稱。
使用者是DBA或所有表的擁有者;刪除所有檔案,但不包括資料庫目錄;不允許刪除當前資料庫(須先關閉當前資料庫);事務中處理過程中不能使用此語法,通過ROLLBACK WORK 也不可將資料庫恢復。
例:drop databse customerdb;
CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)
[IN 「pathname」]
建立表或臨時表。
table-name :資料表名稱稱。
column_name:字段名稱。
data-type:字段資料類型。
path-name:指定表的存放位置
TEMP用於指定建立臨時表;資料表名稱要唯一,字段要唯一;有CONNECT權限的使用者可建立臨時表;建立的表預設允許CONNECT使用者存取,但不可以ALTER。
例:create table user
( c0 serial not null, c1 char (10),
c2 char(2),
c3 smallint,
c4 decimal(6,3),
c5 date
) in 「usr/john/customer.dbs/user;
ALTER TABLE
ALTER TABLE table-name
{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …)
| MODIFY (oldcol_name newcol_type [NOT NULL], … )}, …
修改表結構。
table-name:資料表名稱稱。
newcol_name:新字段名稱
newcol_type:新字段類型
oldcol_name:老字段名稱
可以使用單個或多個ADD子句、DROP子句、MODIFY子句,但某個字句失敗,操作即中止;原字段是NULL,不允許MODIFY為NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的擁有者或擁有DBA權限,或被授權;事務中處理過程中不要使用此語法。
例:alter table user
add ( c6 char(20) before c5);
RENAME TABLE oldname TO newname
修改資料表名稱。
oldname:原名稱。
newname:新名稱。
RENAME使用者是表的擁有者或擁有DBA權限,或被授權;事務中處理過程中不要使用此語法。
例:rename user to bbb;
DROP TABLE table-name
刪除表。
table-name:資料表名稱稱。
刪除表意味著刪除其中所有資料、各字段上的索引及對表的賦權、視圖等;使用者不能刪除任何系統目錄表;語法使用者是表擁有者或擁有DBA權限,事務中處理過程中不要使用此語法。
RENAME COLUMN table.oldcolumn, TO newcolumn
修改字段名。
table.oldcolumn:資料表名稱及原字段名稱
newcolumn:新字段名稱。
語法使用者是表的擁有者或擁有DBA權限或有ALTER權限的使用者,事務中處理過程中不要使用此語法。
例:rename column user.c6 to c7;
CREATE VIEW view-name column-list
CREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION]
建立視圖。
view-name:視圖名稱。
column-list:字段列表。
select_statement:SELECT語法。
以下語法不使用視圖:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;視圖將延用基表的字段名,對表達式等虛字段和多表間字段重名必須指明標識其字段名;若對視圖中某些字段命名,則所有字段都必須命名;視圖中資料類型延用基表中的資料類型,虛字段起訣於表達式;不能使用ORDER BY和UNION子句;對視圖中所有的字段要有SELECT權限;事務中處理過程中使用此語法,即使事務回滾,視圖也將建立,不能恢復。
例:create view v_user as select * from user where c1 = 「B1」;
DROP VIEW view-name
刪除視圖。
view-name:視圖名稱。
使用者可刪除自己建立的視圖;視圖的後代視圖也被刪除;事務中處理中不要使用此語法。
例:drop view v_user;
CREATE INDEX
CREATE [UNIQUE/DISTINCT] [CLUSTER] INDEX index_name ON table_name
([column_name ASC/DESC],…)
建立索引。
index_name:索引名稱。
table_name:資料表名稱稱。
column_name:字段名稱。
UNIQUE/DISTINCT:唯一索引。
CLUSTER:使表的實際存放順序按索引排列。
ASC/DESC:升序或降序,預設升序。
語法執行時,將表的狀態置為EXCLUSIVE;復合索引最多包含8個字段,所有字段長度和不得大於120字節;事務中處理過程中使用此語法,即使事務回滾,索引將建立,不能恢復。
例:create cluster index ix_user on user(c5);
ALTER INDEX index-name TO [NOT] CLUSTER
修改索引性質。
index-name:索引名稱。
TO [NOT] CLUSTER:去掉或加上CLUSTER屬性。
語法執行時,將表的狀態置為EXCLUSIVE;事務中處理過程中使用此語法,即使事務回滾,索引性質將改變,不能恢復。
例:alter index ix_user to not cluster;
DROP INDEX index-name
刪除索引。
index-name:索引名稱。
語法使用者是索引的擁有者或擁有DBA權限,事務中處理過程中不要使用此語法,否則事務無法恢復。
例:drop index ix_user;
CREATE SYNONYM synonym FOR table-name
建立同義名。
synonym:同義名
table-name:資料表名稱稱
資料庫的建立者可以使用同義名;沒有賦予同義名權限的使用者不能使用同義名;同義名不能和資料表名稱相同;事務中處理過程中不要使用此語法。
例:create synonym user_alias for user;
DROP SYNONYM synonym
刪除同義名。
synonym:同義名
可以刪除自己建立的同義名;事務中處理過程中不要使用此語法,否則無法恢復。
例:drop synonym user_alias;
UPDATE STATISTICS [FOR TABLE table-name]
更新資料庫的統計數字。
table-name:資料表名稱稱
此語法僅作用於當前資料庫;可提高查詢效率;只有執行此語法,才改變統計資料。
例:update statistics for table user;
GRANT {DBA|RESOURCE|CONNECT} TO {PUBLIC|user-list}
授權命令。
PUBLIC|user-list:全部或指定的使用者。
三種權限居且僅居其一,事務處理過程中不要執行GRANT語法。
例:grant resource to pulbic;
GRANT tab-privilege ON table-name TO {PUBLIC|user-list} [WITH GRANT OPTION]
授表級權限。
tab-privilege:表級權限。
table-name:資料表名稱稱。
PUBLIC|user-list:全部或指定的使用者。
[WITH GRANT OPTION]:表示被授權使用者有否權限進行二次授權。
使用者可以在自己建立表達式或被[WITH GRANT OPTION]准許的表中進行賦權;限定越多的權限優先級越高。
例:grant update(c1,c6) on user to dick with grant option;
附(INFORMIX的權限)
(1) 資料庫的權限(控制對資料庫的瀏覽以及資料庫中表的建立和刪除)
DBA權限:全部權利,修改系統表,建立和刪除表與索引、增加和恢復表資料,以及授予其他使用者資料庫權限等;
RESOURCE權限:允許對資料庫表中的資料進行存取,建立永久性表以及索引。
CONNECT權限:只允許對資料庫表中的資料進行存取,建立和刪除視圖與臨時表。
(2)表級權限(對表的建立、修改、檢索和更新等權限)
ALTER:更改權限
DELETE:刪除權限
INDEX:索引權限
INSERT:插入權限
SELECT [(cols)]:指定字段或所有字段上的查詢權限,不指明字段預設為所有字段。
UPDATE [(cols)] :指定字段或所有字段上的更新權限,不指明字段預設為所有字段。
ALL [PRIVILEGES]:以上所有表級權限
REVOKE {DBA|RESOURCE|CONNECT} FROM {PUBLIC|user-list}
收權命令。
PUBLIC|user-list:全部或指定的使用者。
三種權限居且僅居其一,事務處理過程中不要執行GRANT語法。
例:revoke resource from john;
REVOKE tab-privilege ON table-name FROM {PUBLIC|user-list}
收表級權限。
tab-privilege:表級權限。
table-name:資料表名稱稱。
PUBLIC|user-list:全部或指定的使用者。
[WITH GRANT OPTION]:表示被授權使用者有否權限進行二次授權。
使用者只能取消由其本人賦予其他使用者的表級存取權限;不能取消自己的權限,對SELECT和UPDATE作取消時,將取消所有表中字段的SELECT 和UPDATE權限。
例;revoke update on user from dick;
LOCK TABLE table-name IN {SHARE|EXCLUSIVE} MODE
記錄級加鎖和表級加鎖或檔案加鎖。
table-name:資料表名稱稱。
SHARE:允許讀表中資料,但不允許作任何修改
EXCLUSIVE:禁止其他任何形式瀏覽表
每次只能對表瑣定一次;事務處理過程中,BEGIN WORK後立即執行LOCK TABLE以取代記錄級加鎖,COMMIT WORK和ROLLBACK WORK語法取消所有對表的加鎖;若沒有事務處理,鎖將保持到使用者退出或執行UNLOCK為止。
例:lock table user in exclusive mode;
UNLOCK TABLE table-name
取消記錄級加鎖和表級加鎖或檔案加鎖。
table-name:資料表名稱稱。
例:unlock user;
SET LOCK MODE TO [NOT] WAIT
改變鎖定狀態。
TO [NOT]:等待解鎖,有可能被死鎖或不等待並提示錯誤訊息,表示此記錄被鎖,預設值。
瀏覽一個EXCLUSIVE狀態下的記錄,將返回一個錯誤。
START DATABSE db_name [WITH LOG IN 「pathname」]
啟動事務處理。
「pathname」:事務處理日誌檔案。
執行該語法前,需要先關閉當前資料庫。
例;clost database;
start databse customer with log in 「/usr/john/log/customer.log」;
BEGIN WORK
開始事務。例:begin work;
COMMIT WORK
提交(正常結束)事務。例:commit work;
ROLLBACK WORK
回滾(非正常結束)事務。例:rollback work;
SELECT
SELECT select_list FROM tab_name|view_name
WHERE condition
GROUP BY column_name
HAVING condition
ORDER BY column_list
INTO TEMP table_name
查詢語法。
select_list:選擇表或*
tab_name:資料表名稱稱
view_name:視圖名稱。
condition:查詢條件,可使用BETWEEN、IN、LIKE、IS NULL、LIKE、MATCHES、NOT、
AND、OR、=、!=或<>、>、 >= 、<=、<、ALL、ANY、SOME
column_name:分群組字段名稱
condition:群聚條件
column_list:排序字段列表,預設ASC,可指定DSC;排序時,NULL值小於非零值。
table_name:臨時資料表名稱稱
例:略
附(常用函數)
(1)集合函數:
count(*)、
sum(資料項/表達式)、avg(資料項/表達式)、max(資料項/表達式)、min(資料項/表達式)
count(distinct 資料項/表達式)、sum(distinct資料項/表達式)、avg(distinct資料項/表達式)
(2)代數函數和三角函數
HEX(資料項/表達式)、ROUND(資料項/表達式)、TRUNC(資料項/表達式)、
TAN(資料項/表達式)、ABS(資料項/表達式)、MOD(被除數,除數)
(3)統計函數
標準差,stdev()、方差,variance()、範圍,rang()
(4)時間函數
DAY(日期/時間表達式):返回數字型
MONTH(日期/時間表達式):返回整數
WEEKDAY(日期/時間表達式):0
DATE(非日期表達式):返回日期型
EXTEND(日期/時間表達式,[第一個至最後一個]):返回指定的整數
MDY(月,日,年):返回日期型
CURRENT:返回日期型
(5)時間函數
ROUND(),四捨五入。如:ROUND(10.95,position)position進行四捨五入的前一位置
TRUNC(),截取。如:TRUNC(10.95,0)position截取的位置
INFORMIX臨時表在下列情況下自動取消:
A.退出資料庫瀏覽工具(如DBACCESS)
B.SQL通話結束(DISCONNECT)
C.發出取消表語法
D.退出程式時
INSERT
INSERT INTO view_name|table_name [(column_list)] VALUES (value_list)
或 INSERT INTO view_name|table_name [(column_list)] select_statement
插入資料
view_name|table_name:視圖名或資料表名稱稱
column_list:資料項列表。
value_list:值列表
select_statement:查詢語法。
例:略
DELETE FROM view_name|table_name WHERE search-conditions
刪除語法。
view_name|table_name:視圖名或資料表名稱稱
search-conditions;刪除條件
例:略
UPDATE
UPDATE view_name|table_name SET column_1 = value_1ist WHERE search_conditions
或UPDATE view_name|table_name SET column_1|* = value_1ist WHERE search_conditions
更新資料語法。
view_name|table_name:資料表名稱稱或視圖資料表名稱稱
value_1ist:字段值
search_conditions:更新資料的條件
例:略
CHECK TABLE table-name
檢查索引語法。
語法使用者是表的擁有者或擁有DBA權限;不能對systable使用此語法。
例:略
REPAIR TABLE table-name
修復索引。
語法使用者是表的擁有者或擁有DBA權限;不能對systable使用此語法。
例:略
LOAD FROM 「file-name」 INSERT INTO table_name [(column_name[,…])]
將文本資料栽入表中。
例:load form 「aa.txt」 insert into user;
UNLOAD TO 「pathname」
將表中資料卸為文本。
例:unload to 「aa.txt」 select * from user;
INFO
系統訊息查詢。
INFO TABLES:得到當前資料庫上表的名字。
INFO columns FOR table_name:指定表上的字段訊息。
INFO INDEXES FOR table_name:指定表上的索引訊息。
INFO [ACCESS|PRIVILEGES] FOR table_name:指定表上的存取權限。
INFO STATUS FOR table_name:指定表的狀態訊息。
例: info tables;
星期五, 6月 06, 2008
聰明說話35招(轉)
職場的應對進退要小心,以下歸納出35項國內外溝通專家的建議,幫助你學會說對話,贏得好人緣,拉抬職場身價。
文/吳凱琳 圖/50cc
2008年6月 Cheers雜誌
讚美時,你該說……
1.讚美行為而非個人。
舉例來說,如果對方是廚師,千萬不要說:「你真是了不起的廚師。」他心裡知道有更多廚師比他還優秀。但如果你告訴他,你一星期有一半的時間會到他的餐廳吃飯,這就是非常高明的恭維。
2.透過第三者表達讚美。
如果對方是經由他人間接聽到你的稱讚,比你直接告訴本人更多了一份驚喜。相反地,如果是批評對方,千萬不要透過第三者告訴當事人,避免加油添醋。
3.客套話也要說得恰到好處。
客氣話是表示你的恭敬和感激,所以要適可而止。有人替你做了一點點小事,你只要說「謝謝。」、「對不起,這件事麻煩你了。」至於「才疏學淺,請閣下多多指教。」這種缺乏感情的客套話,就可以免了。
4.面對別人的稱讚,說聲謝謝就好。
一般人被稱讚時,多半會回答「還好!」或是以笑容帶過。與其這樣,不如坦率接受並直接跟對方說謝謝。有時候對方稱讚我們的服飾或某樣東西,如果你說:「這只是便宜貨!」反而會讓對方尷尬。
5.有欣賞競爭對手的雅量。
當你的對手或討厭的人被稱讚時,不要急著說:「可是……」,就算你不認同對方,表面上還是要說:「是啊,他很努力。」顯示自己的雅量。
批評時,絕不要……
6.批評也要看關係。
忠言未必逆耳,即便你是好意,對方也未必會領情,甚至誤解你的好意。除非你和對方有一定的交情或信任基礎,否則不要隨意提出批評。
7.批評也可以很悅耳。
比較容易讓人接受的說法是:「關於你的……,我有些想法,或許你可以聽聽看。」
8.時間點很重要。
千萬不要在星期一早上,幾乎多數人都會有「星期一憂鬱」的症狀。另外也不要在星期五下班前,以免破壞對方週末休假的心情。
9.注意場合。
不要當著外人的面批評自己的朋友或同事,這些話私底下關起門來說就好。
10.同時提出建議。
提出批評之外,還應該提供正面的改進建議,才可以讓你的批評更有說服力。
回話時,要小心……
11.避免不該說出口的回答。
像是:「不對吧,應該是……」這種話顯得你故意在找碴。另外,我們也常說:「聽說……」,感覺就像是你道聽塗說得來的消息,有失得體。
12.別回答「果然沒錯!」
這是很糟的說法,當對方聽到這種回應時,心中難免會想:「你是不是明知故問啊?」所以只要附和說:「是的!」
13.改掉一無是處的口頭禪。
每個人說話都有習慣的口頭禪,但會容易讓人產生反感。例如:「你懂我的意思嗎?」、「你清楚嗎?」、「基本上……」、「老實說……」。
14.去除不必要的「雜音」。
有些人每一句話最後習慣加上「啊」等語助詞,像是「就是說啊」、「當然啦」,在比較正式的場合,就會顯得不夠莊重穩重。
15.別問對方「你的公司是做什麼的?」
你在一場活動遇到某個人,他自我介紹時說自己在某家公司工作。千萬別問:「你公司是做什麼的?」這項活動也許正是他們公司舉辦的,你要是不知道就尷尬了。也不要說:「聽說你們做得很好!」因為對方可能這季業績掉了3成。你應該說:「你在公司擔任什麼職務?」如果不知道對方的職業就別問,因為有可能他沒工作。
16.別問不熟的人「為什麼?」
如果彼此交情不夠,問對方「為什麼?」有時會有責問、探人隱私的意味。例如,「你為什麼那樣做?」、「你為什麼做這個決定?」這些問題都要避免。
做面子,給別人……
17.別以為每個人都認識你。
碰到曾經見過面,但認識不深的人時,絕不要說:「你還記得我嗎?」萬一對方想不起來,就尷尬了。最好的方法還是先自我介紹:「你好,我是×××,真高興又見面了。」
18.拒絕也可以不失禮。
用餐時,若主人推薦你吃某樣你不想吃的東西,可以說:「對不起,我沒辦法吃這道菜,不過我會多吃一點××。」讓對方感受到你是真心喜歡並感謝他們準備的食物。如果吃飽了,可以說:「這些菜真好吃,要不是吃飽了,真想再多吃一點。」
19.不要表現出自己比對方厲害。
在社交場合交談時,如果有人說他剛剛去了紐約1星期,就不要說上次你去了1個月,這樣會破壞對方談話的興致。還不如順著對方的話,分享你對紐約的感覺和喜愛。
20.不要糾正別人的錯誤。
不要過於雞婆地糾正別人的發音、文法或事實,不僅會讓對方覺得不好意思,同時也顯得你很愛表現。
21.不懂不要裝懂。
如果你對談話的主題不了解,就坦白地說:「這問題我不清楚。」別人也不會繼續為難你。如果不懂還要裝懂,更容易說錯話。
看臉色,別衝動……
22.掌握1秒鐘原則。
聽完別人的談話時,在回答之前,先停頓1秒鐘,代表你剛剛有在仔細聆聽,若是隨即回話,會讓人感覺你好像早就等著隨時打斷對方。
23.聽到沒有說出口的。
當你在傾聽某人說話時,聽到的只是對方知道、並且願意告訴你的。除了傾聽,我們還必須「觀察」。他的行為舉止如何?從事什麼工作?如何分配時間與金錢?
24.時間點對了,什麼都對。
當你有事要找同事或主管討論時,應該根據自己問題的重要與否,選擇對的時機。假若是為個人瑣事,就不要在他正埋頭思考時打擾。如果不知道對方何時有空,不妨先寫信給他。
去尷尬,有方法……
25.微笑拒絕回答私人問題。
如果被人問到不想回答的私人問題或讓你不舒服的問題,可以微笑地跟對方說:「這個問題我沒辦法回答。」既不會給對方難堪,又能守住你的底線。
26.拐彎抹角回絕。
許多社交場合,喝酒總是無法避免。不要直接說:「我不喝酒。」掃大家的興。不如幽默地說:「我比較擅長為大家倒酒。」
27.先報上自己大名。
忘記對方的名字,就當作是正式場合,向對方介紹自己的名字或拿出名片,對方也會順勢報上自己的大名和名片,免除了叫不出對方姓名的窘境。
28.不當八卦傳聲筒。
當一群人聊起某人的八卦或傳言時,不要隨便應聲附和,因為只要說出口的話,必定會傳到當事人耳中。最好的方法就是不表明自己的立場,只要說:「你說的部份我不太清楚。」
29.下達「送客令」。
如果你覺得時間差不多該結束談話或送客,但對方似乎完全沒有要起身離開的意思,可以說:「不好意思,我得打通電話,時間可能有點久……」,或是:「今天真的很謝謝你來……」。你也可以不經意地看看自己的手錶,讓對方知道該走了。
30.讓對方覺得他很重要。
如果向前輩請求幫忙,可以說:「因為我很信任你,所以想找你商量……」讓對方感到自己備受尊敬。
評部屬,要恰當……
主管如何和部屬溝通,才能說得恰到好處又不傷關係?資誠企業管理顧問公司進行內部教育訓練時,教導新手主管5項溝通守則。
31.直接描述現狀。
和部屬意見不同時,不要直接批評,而要說明不同點在哪。
32.尋求解決。
如果部屬績效不佳,應該要詢問他可以如何解決,不要採取威脅態度。
33.主動表達幫忙。
如果一時之間無法解決部屬的問題,不要說「這種事先不要來煩我」,而是告訴他「我知道有誰可以幫忙」。
34.說話語氣要平等。
主管切忌說「我有十幾年的經驗,聽我的就對了。」比較好的說法是:「這方法我用過,而且很有效,你要不要試試看?」
35.彈性接納部屬意見。
即使你心有定見,也不要對部屬說:「這些建議都考慮過了,不必再多說。」還是應該給部屬機會,對他說:「關於這個問題,我已有了腹案,不過仍想聽聽你的看法。」
文/吳凱琳 圖/50cc
2008年6月 Cheers雜誌
讚美時,你該說……
1.讚美行為而非個人。
舉例來說,如果對方是廚師,千萬不要說:「你真是了不起的廚師。」他心裡知道有更多廚師比他還優秀。但如果你告訴他,你一星期有一半的時間會到他的餐廳吃飯,這就是非常高明的恭維。
2.透過第三者表達讚美。
如果對方是經由他人間接聽到你的稱讚,比你直接告訴本人更多了一份驚喜。相反地,如果是批評對方,千萬不要透過第三者告訴當事人,避免加油添醋。
3.客套話也要說得恰到好處。
客氣話是表示你的恭敬和感激,所以要適可而止。有人替你做了一點點小事,你只要說「謝謝。」、「對不起,這件事麻煩你了。」至於「才疏學淺,請閣下多多指教。」這種缺乏感情的客套話,就可以免了。
4.面對別人的稱讚,說聲謝謝就好。
一般人被稱讚時,多半會回答「還好!」或是以笑容帶過。與其這樣,不如坦率接受並直接跟對方說謝謝。有時候對方稱讚我們的服飾或某樣東西,如果你說:「這只是便宜貨!」反而會讓對方尷尬。
5.有欣賞競爭對手的雅量。
當你的對手或討厭的人被稱讚時,不要急著說:「可是……」,就算你不認同對方,表面上還是要說:「是啊,他很努力。」顯示自己的雅量。
批評時,絕不要……
6.批評也要看關係。
忠言未必逆耳,即便你是好意,對方也未必會領情,甚至誤解你的好意。除非你和對方有一定的交情或信任基礎,否則不要隨意提出批評。
7.批評也可以很悅耳。
比較容易讓人接受的說法是:「關於你的……,我有些想法,或許你可以聽聽看。」
8.時間點很重要。
千萬不要在星期一早上,幾乎多數人都會有「星期一憂鬱」的症狀。另外也不要在星期五下班前,以免破壞對方週末休假的心情。
9.注意場合。
不要當著外人的面批評自己的朋友或同事,這些話私底下關起門來說就好。
10.同時提出建議。
提出批評之外,還應該提供正面的改進建議,才可以讓你的批評更有說服力。
回話時,要小心……
11.避免不該說出口的回答。
像是:「不對吧,應該是……」這種話顯得你故意在找碴。另外,我們也常說:「聽說……」,感覺就像是你道聽塗說得來的消息,有失得體。
12.別回答「果然沒錯!」
這是很糟的說法,當對方聽到這種回應時,心中難免會想:「你是不是明知故問啊?」所以只要附和說:「是的!」
13.改掉一無是處的口頭禪。
每個人說話都有習慣的口頭禪,但會容易讓人產生反感。例如:「你懂我的意思嗎?」、「你清楚嗎?」、「基本上……」、「老實說……」。
14.去除不必要的「雜音」。
有些人每一句話最後習慣加上「啊」等語助詞,像是「就是說啊」、「當然啦」,在比較正式的場合,就會顯得不夠莊重穩重。
15.別問對方「你的公司是做什麼的?」
你在一場活動遇到某個人,他自我介紹時說自己在某家公司工作。千萬別問:「你公司是做什麼的?」這項活動也許正是他們公司舉辦的,你要是不知道就尷尬了。也不要說:「聽說你們做得很好!」因為對方可能這季業績掉了3成。你應該說:「你在公司擔任什麼職務?」如果不知道對方的職業就別問,因為有可能他沒工作。
16.別問不熟的人「為什麼?」
如果彼此交情不夠,問對方「為什麼?」有時會有責問、探人隱私的意味。例如,「你為什麼那樣做?」、「你為什麼做這個決定?」這些問題都要避免。
做面子,給別人……
17.別以為每個人都認識你。
碰到曾經見過面,但認識不深的人時,絕不要說:「你還記得我嗎?」萬一對方想不起來,就尷尬了。最好的方法還是先自我介紹:「你好,我是×××,真高興又見面了。」
18.拒絕也可以不失禮。
用餐時,若主人推薦你吃某樣你不想吃的東西,可以說:「對不起,我沒辦法吃這道菜,不過我會多吃一點××。」讓對方感受到你是真心喜歡並感謝他們準備的食物。如果吃飽了,可以說:「這些菜真好吃,要不是吃飽了,真想再多吃一點。」
19.不要表現出自己比對方厲害。
在社交場合交談時,如果有人說他剛剛去了紐約1星期,就不要說上次你去了1個月,這樣會破壞對方談話的興致。還不如順著對方的話,分享你對紐約的感覺和喜愛。
20.不要糾正別人的錯誤。
不要過於雞婆地糾正別人的發音、文法或事實,不僅會讓對方覺得不好意思,同時也顯得你很愛表現。
21.不懂不要裝懂。
如果你對談話的主題不了解,就坦白地說:「這問題我不清楚。」別人也不會繼續為難你。如果不懂還要裝懂,更容易說錯話。
看臉色,別衝動……
22.掌握1秒鐘原則。
聽完別人的談話時,在回答之前,先停頓1秒鐘,代表你剛剛有在仔細聆聽,若是隨即回話,會讓人感覺你好像早就等著隨時打斷對方。
23.聽到沒有說出口的。
當你在傾聽某人說話時,聽到的只是對方知道、並且願意告訴你的。除了傾聽,我們還必須「觀察」。他的行為舉止如何?從事什麼工作?如何分配時間與金錢?
24.時間點對了,什麼都對。
當你有事要找同事或主管討論時,應該根據自己問題的重要與否,選擇對的時機。假若是為個人瑣事,就不要在他正埋頭思考時打擾。如果不知道對方何時有空,不妨先寫信給他。
去尷尬,有方法……
25.微笑拒絕回答私人問題。
如果被人問到不想回答的私人問題或讓你不舒服的問題,可以微笑地跟對方說:「這個問題我沒辦法回答。」既不會給對方難堪,又能守住你的底線。
26.拐彎抹角回絕。
許多社交場合,喝酒總是無法避免。不要直接說:「我不喝酒。」掃大家的興。不如幽默地說:「我比較擅長為大家倒酒。」
27.先報上自己大名。
忘記對方的名字,就當作是正式場合,向對方介紹自己的名字或拿出名片,對方也會順勢報上自己的大名和名片,免除了叫不出對方姓名的窘境。
28.不當八卦傳聲筒。
當一群人聊起某人的八卦或傳言時,不要隨便應聲附和,因為只要說出口的話,必定會傳到當事人耳中。最好的方法就是不表明自己的立場,只要說:「你說的部份我不太清楚。」
29.下達「送客令」。
如果你覺得時間差不多該結束談話或送客,但對方似乎完全沒有要起身離開的意思,可以說:「不好意思,我得打通電話,時間可能有點久……」,或是:「今天真的很謝謝你來……」。你也可以不經意地看看自己的手錶,讓對方知道該走了。
30.讓對方覺得他很重要。
如果向前輩請求幫忙,可以說:「因為我很信任你,所以想找你商量……」讓對方感到自己備受尊敬。
評部屬,要恰當……
主管如何和部屬溝通,才能說得恰到好處又不傷關係?資誠企業管理顧問公司進行內部教育訓練時,教導新手主管5項溝通守則。
31.直接描述現狀。
和部屬意見不同時,不要直接批評,而要說明不同點在哪。
32.尋求解決。
如果部屬績效不佳,應該要詢問他可以如何解決,不要採取威脅態度。
33.主動表達幫忙。
如果一時之間無法解決部屬的問題,不要說「這種事先不要來煩我」,而是告訴他「我知道有誰可以幫忙」。
34.說話語氣要平等。
主管切忌說「我有十幾年的經驗,聽我的就對了。」比較好的說法是:「這方法我用過,而且很有效,你要不要試試看?」
35.彈性接納部屬意見。
即使你心有定見,也不要對部屬說:「這些建議都考慮過了,不必再多說。」還是應該給部屬機會,對他說:「關於這個問題,我已有了腹案,不過仍想聽聽你的看法。」
訂閱:
文章 (Atom)