zoukankan      html  css  js  c++  java
  • 表字段配置sql语句 使用存储过程执行

    1、配置表信息

    USE [cishu]
    GO
    
    /****** Object:  Table [dbo].[SearchConfig]    Script Date: 03/09/2018 17:39:57 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE TABLE [dbo].[SearchConfig](
        [DisplayIndex] [int] NULL,
        [TypeValue] [nvarchar](100) NULL,
        [TypeName] [nvarchar](100) NULL,
        [ClassName] [nvarchar](100) NULL,
        [sqlString1] [nvarchar](500) NULL,
        [sqlString2] [nvarchar](500) NULL,
        [sqlString3] [nvarchar](500) NULL
    ) ON [PRIMARY]
    
    GO
    View Code

    2、执行存储

    USE [cishu]
    GO
    
    /****** Object:  StoredProcedure [dbo].[MessageReault_SearchFullTextList]    Script Date: 03/09/2018 17:41:20 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    
    
    ALTER PROCEDURE [dbo].[MessageReault_SearchFullTextList]
    @searchContent NVARCHAR(100) = NULL,
    @TypeValue NVARCHAR(100) = NULL,
    @PageIndex INT=1,
    @PageSize INT=10
    AS
    BEGIN
    SET NOCOUNT ON;
    
    DECLARE @ExecSql NVARCHAR(200)
    
    SELECT TOP 1 @ExecSql=sqlString3 FROM [SearchConfig] WHERE TypeValue=@TypeValue
    
    IF    (@ExecSql IS NULL OR @ExecSql='') BEGIN  RAISERROR ('配置中未找到该查询类型!', 10, 1) END
    ELSE 
    BEGIN
    exec sp_executesql @ExecSql,N'@searchContent nvarchar(100),@TypeValue nvarchar(100),@PageIndex INT,@PageSize INT', 
                @searchContent=@searchContent,@TypeValue=@TypeValue,@PageIndex=@PageIndex,@PageSize=@PageSize
    end
    --exec(@ExecSql)
    SET NOCOUNT OFF;
    END
    
    
    GO
    View Code

    3、全部类型存储

    USE [cishu]
    GO
    
    /****** Object:  StoredProcedure [dbo].[MessageReault_SearchFullTextListByAll]    Script Date: 03/09/2018 17:43:54 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    
    
    
    
    
    
    
    
    
    ALTER PROCEDURE [dbo].[MessageReault_SearchFullTextListByAll]
    @searchContent NVARCHAR(100) = NULL,
    @TypeValue NVARCHAR(100) = NULL,
    @PageIndex INT=1,
    @PageSize INT=10
    --@AllCount INT=0 OUTPUT
    AS
    BEGIN
    SET NOCOUNT ON;
        DECLARE @minIndex INT
        DECLARE @maxIndex INT
        DECLARE @ExecSql NVARCHAR(200)
    
        SELECT @minIndex=MIN(a.DisplayIndex),@maxIndex=MAX(a.DisplayIndex) FROM dbo.SearchConfig a
        WHERE TypeValue!='All'
        
        WHILE @minIndex<=@maxIndex
        BEGIN 
            DECLARE @tempAllCount INT
            DECLARE @tempTypeValue NVARCHAR(100)
            SET @tempAllCount=0
            SELECT TOP 1 @ExecSql=sqlString1,@tempTypeValue=TypeValue FROM [SearchConfig] WHERE  TypeValue!='All' AND DisplayIndex=@minIndex
            IF    (@ExecSql IS NULL OR @ExecSql='') 
            BEGIN SET @minIndex=@minIndex+1 CONTINUE  END
            ELSE 
                BEGIN
                CREATE TABLE #tmp(
                AllCount NVARCHAR(100),
                TypeValue NVARCHAR(100)
                )
                INSERT INTO #tmp
                exec sp_executesql @ExecSql,N'@searchContent nvarchar(100),@TypeValue nvarchar(100),@AllCount INT OUTPUT', 
                            @searchContent=@searchContent,@TypeValue=@tempTypeValue,@AllCount=@tempAllCount OUTPUT
                DROP TABLE #tmp
                END
            IF    @tempAllCount>0 
            BEGIN
            SET @minIndex=@minIndex+1
                 EXEC MessageReault_SearchFullTextList @searchContent,@tempTypeValue,@PageIndex,@PageSize
                 BREAK 
             END
             ELSE
             BEGIN
             SET @minIndex=@minIndex+1
             CONTINUE
             END
          
        END
    
    --exec(@ExecSql)
    SET NOCOUNT OFF;
    END
    
    
    
    
    
    
    
    
    
    GO
    View Code
  • 相关阅读:
    eclipse如何与git 配合工作。
    git托管代码(二)
    PPC2003 安装 CFNET 3.5成功
    我的Window Mobile WCF 項目 第三篇 WM窗体设计
    我的Window Mobile WCF 項目 第一篇Mobile开发和WinForm开发的区别
    我的Window Mobile WCF 項目 第七天
    我的Window Mobile WCF 項目 第二篇 WindowsMobile访问WCF
    WCF 用vs2010 和 vs2008的简单对比测试
    vs2010beta1 和 搜狗输入法 冲突,按下 Ctrl 键就报错,重装搜狗解决
    我的Window Mobile WCF 項目 第六天 (二)
  • 原文地址:https://www.cnblogs.com/caolingyi/p/8535162.html
Copyright © 2011-2022 走看看