zoukankan      html  css  js  c++  java
  • 存储过程——创建通用存储过程(七)

    • 目标
    1. 实现简单的数据库编程
    2. 实现通用的删除功能
    3. 实现通用的修改功能
    • 通用删除和通用修改 实现思路
    1. 普通删除功能

        根据某个条件删除某个表信息,通常如:根据主键删除新闻表信息某条数据,根据主键删除用户表某条数据

      分析:

        如果要实现通用的删除功能,只需要编写一个存储过程,传入要删除的表名和删除的条件即可,拼接一个sql语句,最后执行这个sql语句,实现通用的删除功能

    • 通用修改功能实现思路
    1. 普通修改:一个表就需要写一个存储过程去实现修改功能

      分析:

       是否可以直接将表名,修改的列名,修改的条件作为参数,拼接一个sql语句,最后执行这个sql语句,实现通用的修改功能

    • 执行sql语句

     EXEC(@sql)

    通用删除功能如下

    -- =============================================
    -- Author:        <Author,,Name>
    -- Create date: 2014年4月12日 23:04:30
    -- Description:    <通用删除>
    -- =============================================
    CREATE PROCEDURE DelTable]    
    @tablename nvarchar(100),--表名 @condition nvarchar(200)--查询条件 AS BEGIN --拼接sql DECLARE @sql nvarchar(1000) SET @sql='Delete from '+@tablename+' where '+@condition EXEC(@sql) END

    测试打印sql如下
    Delete from userinfo where 3

    在t-sql界面操作调用格式如下

    EXEC DelTable 'userinfo','id=6'

    通用修改功能如下

    -- =============================================
    -- Author:        <Author,,Name>
    -- Create date: <2014年4月12日 23:33:39
    -- Description:    通用修改
    -- =============================================
    CREATE PROCEDURE UpdateTable
        @tablename nvarchar(100),
        @columns nvarchar(200),
        @condition nvarchar(500)
    AS
    BEGIN
        DECLARE @sql nvarchar(1000)
        SET @sql='update '+@tablename+' set '+@columns+' where '+ @condition
        EXEC(@sql)
    END
    GO

    在界面调用如下

    EXEC [dbo].[UpdateTable] 'userinfo','age=24','id=1'

    通用查询功能如下

    -- =============================================
    -- Author:        <Author,,Name>
    -- Create date: 2014年4月13日 00:07:44
    -- Description:    查询
    -- =============================================
    CREATE PROCEDURE QueryTable 
        @tablename nvarchar(100),
        @column nvarchar(200),
        @condition nvarchar(300)
    AS
    BEGIN
        DECLARE @sql nvarchar(1000)
        SET @sql='select '+@column+ ' from '+@tablename+' where 1=1'+@condition
        EXEC(@sql)
    END
    GO

    调用

    EXEC [dbo].[QueryTable] 'userinfo','*',''
  • 相关阅读:
    计算器部分代码
    学写压缩壳心得系列之二 掌握PE结构 ,曲径通幽
    headerfiles
    VC实现文件拖拽
    学写压缩壳心得系列之三 模拟加载,步步为营
    ASPack 2.x (without poly) > Alexey Solodovnikov [Overlay]脱壳
    学写压缩壳心得系列之一 熟悉概念,未雨绸缪
    upx最新壳脱壳测试
    正则表达式大全
    win7 iis http 500 错误
  • 原文地址:https://www.cnblogs.com/tuqun/p/3661652.html
Copyright © 2011-2022 走看看