• 拼音码查询 使用存储过程+触发器 自动实现


    步骤:

    1.下载 中文 拼音对照表 下载地址:http://download.csdn.net/source/326464

    2.将下载的T-SQL语句放入需要功能的数据库中运行. 将生成 pycode 这张表

    3.在需要实现的表中新建字段,命名为Namepy

    4.运行以下存储过程和触发器:

    <1>存储过程的用处是将字段中的中文每个读出查询到它的拼音码(无需更改)

    <2>触发器的作用是:当中文字段被Insert或者Update后,触发器会自动运行插入或改变拼音码  

    代码
    --存储过程 将汉字转化成拼音输出
    create proc Hz2Py
    @hz varchar(200),
    @py varchar(200) output
    AS
    declare @i int
    declare @chr varchar(2)
    declare @pyc varchar(1)
    set @i=1
    while (@i<=len(@hz)) begin
    set @chr=substring(@hz,@i,1)
    set @pyc=(select py from pycode where hz=@chr)
    if(@pyc is null)
    set @py=@py+@chr
    else
    set @py=@py+@pyc
    Set @i=@i+1
    end

    --触发器 当插入,更新时 更改拼音码
    --Namepy 为拼音字段
    --bank 为需要实现表的表名
    --customername 为汉字字段
    --cardid 为bank表主键
    create trigger Namepy on bank for insert,update
    AS
    declare @name varchar(100),@npy varchar(100),@cid char(10)

    if(update(customername)) begin
    set @npy=''
    select @name=customername,@cid=cardid from inserted
    --调用存储过程
    exec Hz2Py @name,@npy output

    update bank set namepy=@npy where cardid=@cid

    end
    GO

    嗯.. 如果还有什么问题.可以留言给我..

  • 相关阅读:
    @ResponseBody和@RequestBoby的作用
    项目Alpha冲刺Day9
    项目Alpha冲刺Day8
    项目Alpha冲刺Day7
    设计模式第三次作业
    项目Alpha冲刺Day6
    树莓派历程笔记
    项目Alpha冲刺Day5
    django获取ip与数据重复性判定
    在django模板中添加jquery
  • 原文地址:https://www.cnblogs.com/tweet/p/1665783.html
Copyright © 2020-2023  润新知