自动补全+汉字拼音双查(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

 

 

posted @ 2013-06-09 18:01  梦醒心晴  Views(295)  Comments(0Edit  收藏  举报