zoukankan      html  css  js  c++  java
  • 自动补全+汉字拼音双查(1)数据库

    创建 汉字与拼音以及拼音首字母的映射表 yuanwen 汉字原文 shouzimu 首字母 quanpin 全拼 times 查询次数

    IF OBJECT_ID ('dbo.keyword') IS NOT NULL
        DROP TABLE dbo.keyword
    GO
    
    CREATE TABLE dbo.keyword
        (
        id       INT IDENTITY NOT NULL,
        yuanwen  NVARCHAR (500) NOT NULL,
        shouzimu NVARCHAR (200) NOT NULL,
        quanpin  NVARCHAR (500) NOT NULL,
        times    INT NOT NULL
        )
    GO

    创建 文章表 title_strid 标题 对应的映射表里的id   key_strid关键字对应的映射表里的id  content 内容

    IF OBJECT_ID ('dbo.article') IS NOT NULL
        DROP TABLE dbo.article
    GO
    
    CREATE TABLE dbo.article
        (
        id          INT IDENTITY NOT NULL,
        title_strid INT NOT NULL,
        key_strid   INT NOT NULL,
        content     TEXT NOT NULL
        )
    GO

    创建添加文章的存储过程 首先查询添加的title 在映射表里是否存在 不存在 就往映射表里 添加一条数据,并获取新插入数据的id  存在 直接获取对应的id

    keyword 同理 最后 将获取的 两个id 和 传入的content 插入到article表里

    ALTER PROCEDURE [dbo].[AddArticle]
    @title NVARCHAR(500),
    @tshouzimu NVARCHAR(200),
    @tquanpin NVARCHAR(500),
    @keyword NVARCHAR(500),
    @kshouzimu NVARCHAR(200),
    @kquanpin NVARCHAR(500),
    @content TEXT
    AS
    BEGIN
    DECLARE @kid INT
    DECLARE @tid INT
    SET @tid = (SELECT id FROM keyword WHERE yuanwen=@title)
    IF (isnull(@tid,0)=0)
        BEGIN
        INSERT INTO keyword VALUES(@title,@tshouzimu,@tquanpin,1)
        SET @tid = SCOPE_IDENTITY()
        END
    SET @kid = (SELECT id FROM keyword WHERE yuanwen=@keyword)
    IF (isnull(@kid,0)=0)
        BEGIN
        INSERT INTO keyword VALUES(@keyword,@kshouzimu,@kquanpin,1)
        SET @kid = SCOPE_IDENTITY()
        END
    INSERT INTO article VALUES(@tid,@kid,@content)
    END
    GO

    按照全拼查询的存储过程  keyword是大写无空格的全拼

    ALTER PROCEDURE SelectKey
    @keyword NVARCHAR(500)
    AS
    BEGIN
    SELECT yuanwen FROM keyword WHERE
        quanpin LIKE ''+@keyword+'%' ORDER BY times DESC;
    END
    GO

    根据原文查询的存储过程  keyword是大写无空格的原文

    ALTER PROCEDURE SelectKey2
    @keyword NVARCHAR(500)
    AS
    BEGIN
    SELECT yuanwen FROM keyword WHERE yuanwen LIKE '%'+@keyword+'%' ORDER BY times DESC;
    END
    GO

    根据首字母查询的存储过程 keyword是大写无空格的首字母

    ALTER PROCEDURE SelectKey3
    @keyword NVARCHAR(500)
    AS
    BEGIN
    SELECT yuanwen FROM keyword WHERE
        shouzimu LIKE '%'+@keyword+'%' ORDER BY times DESC;
    END
    GO
  • 相关阅读:
    图表插件echars的使用案例
    安装Eclipse
    ef 更新数据库
    webapi Route 特性
    WebSite下创建webapi
    C# 泛型约束
    Session共享
    ubuntu eclipse 无法打开
    C# TreeView 连续点击 不触发AfterCheck事件
    ef 仓储模式 Redis
  • 原文地址:https://www.cnblogs.com/mengxingxinqing/p/3129624.html
Copyright © 2011-2022 走看看