SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROC [dbo].[SearchTableData]
@TableName VARCHAR(255),
@Fields VARCHAR(255),
@WhereField VARCHAR(255),
@WhereValue VARCHAR(255)
AS 
BEGIN
DECLARE @sql VARCHAR(255)
DECLARE @xtype INT=0
SET @sql ='SELECT '+@Fields+' FROM '+@TableName;
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 SearchTableData '表名','*','CountId','1'

 

相关文章:

  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2021-09-24
  • 2021-08-03
  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-09
  • 2021-07-23
  • 2021-08-07
  • 2022-12-23
相关资源
相似解决方案