zoukankan      html  css  js  c++  java
  • sql server 通用修改表数据存储过程

    ALTER PROC [dbo].[UpdateTableData]
    @TableName VARCHAR(255),
    @SearchField VARCHAR(255),
    @SearchValue VARCHAR(255),
    @WhereField VARCHAR(255),
    @WhereValue VARCHAR(255)
    AS 
    BEGIN
    DECLARE @sql VARCHAR(255)
    DECLARE @xtype INT=0
    SET @sql ='UPDATE '+@TableName;
      --获取SqlServer中表结构 
    SELECT @xtype=syscolumns.xtype
    FROM syscolumns, systypes 
    WHERE syscolumns.xusertype = systypes.xusertype 
    AND syscolumns.id = object_id(@TableName)and  syscolumns.name=@SearchField
    IF(@xtype=NULL)
    RAISERROR ('查询字段不存在', 16, 1)
    SET @sql=@sql+' SET '+@SearchField+'=';
    IF(@xtype=48 OR @xtype=52 OR @xtype=56 OR @xtype=62OR @xtype=127)
    BEGIN
    SET @sql=@sql+@SearchValue;
    END
    ELSE IF(@xtype=35OR @xtype=99 OR @xtype=167 OR @xtype=175 OR @xtype=231 OR @xtype=239)
    BEGIN
    SET @sql=@sql+''''+@SearchValue+'''';
    END
    ELSE
    RAISERROR ('数据类型错误', 16, 1)
    SET @xtype=0
    SELECT @xtype=syscolumns.xtype
    FROM syscolumns, systypes 
    WHERE syscolumns.xusertype = systypes.xusertype 
    AND syscolumns.id = object_id(@TableName)and  syscolumns.name=@WhereField
    IF(@xtype=0)
    BEGIN
    RAISERROR ('修改字段不存在', 16, 1)
    END
    SET @sql=@sql+' WHERE '+@WhereField+'='
    IF(@xtype=48 OR @xtype=52 OR @xtype=56 OR @xtype=62OR @xtype=127)
    BEGIN
    SET @sql=@sql+@WhereValue;
    END
    ELSE IF(@xtype=35OR @xtype=99 OR @xtype=167 OR @xtype=175 OR @xtype=231 OR @xtype=239)
    BEGIN
    SET @sql=@sql+''''+@WhereValue+'''';
    END
    ELSE
    RAISERROR ('数据类型错误', 16, 1)
    EXEC (@sql)
    END 
     exec UpdateTableData '表名','修改字段','修改值','条件字段','条件值' 
  • 相关阅读:
    iOS:网络检测
    WinJS:设置listView垂直滚动
    iOS:在AppDelegate中定义managed object context
    简笔画项目总结: ios绘图机制 & 实现记录笔迹功能
    CSS基础
    DOM小结
    iOS:view.frame
    WP:初探
    iOS:UIWebView scrollView 的分页滑动问题
    Mono for Android: 利用mono for android开发的第一个程序
  • 原文地址:https://www.cnblogs.com/RambleLife/p/9830814.html
Copyright © 2011-2022 走看看