如何在Oracle中建立汉字拼音对照表

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

REM

REM建立汉语拼音库,根据汉字查拼音

REM应用:如商品或者货物名称可以根据拼音去查,数据可以按拼音排序

REM作者:朱伟民 时间: 12:24 2001-10-07

REM

--

-- 汉字拼音编码表 , 可以用程序读汉字库获得记录

--

DROP TABLE chinese_code;

CREATE TABLE chinese_code(

ascii_code INTEGER,-- 汉字的 ASCII 码

chinese_Word VARCHAR2(2),-- 汉字

chinese_anno VARCHAR2(5),-- 汉语拼音

CONSTRAINT PK_chinese_code PRIMARY KEY(ascii_code),

CONSTRAINT CK_chinese_code1 CHECK("CHINESE_WORD" IS NOT NULL))

PCTFREE 5

PCTUSED 75

TABLESPACE users

STORAGE(INITIAL 50K

NEXT 50K

MINEXTENTS 2

MAXEXTENTS 100

PCTINCREASE 75)

ENABLE PRIMARY KEY USING INDEX

TABLESPACE INDX

PCTFREE 5;

ALTER TABLE chinese_code DISABLE PRIMARY KEY;

INSERT INTO chinese_code VALUES(ASCII('中'),'中','zhong');

INSERT INTO chinese_code VALUES(ASCII('华'),'华','hua');

INSERT INTO chinese_code VALUES(ASCII('人'),'人','ren');

INSERT INTO chinese_code VALUES(ASCII('民'),'民','ming');

INSERT INTO chinese_code VALUES(ASCII('共'),'共','gong');

INSERT INTO chinese_code VALUES(ASCII('和'),'和','he');

INSERT INTO chinese_code VALUES(ASCII('国'),'国','guo');

COMMIT;

ALTER TABLE chinese_code ENABLE PRIMARY KEY;

SELECT * FROM chinese_code;

--

-- 根据汉字查询拼音函数

--

CREATE OR REPLACE FUNCTION query_anno(

inputStr IN VARCHAR2)

RETURN VARCHAR2 AS

outputStr chinese_code.chinese_anno%TYPE;

BEGIN

SELECT chinese_anno INTO outputStr FROM chinese_code

WHERE ascii_code = ASCII(inputStr);

RETURN outputStr;

EXCEPTION

WHEN OTHERS THEN

RETURN '';

END;

/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航