×

mssql 储存过程

mssql通用存储过程

管理员 管理员 发表于2010-03-03 12:04:05 浏览2889 评论0

抢沙发发表评论

CREATE PROCEDURE dbo.spSelect
(
@TableCondition nvarchar(255),
@WhereCondition nvarchar(255)=null,
@OrderCondition nvarchar(255)=null
)
AS
DECLARE @SQL NVARCHAR(255)
SET @SQL='SELECT * FROM['+@TableCondition+']'
IF @WhereCondition IS NOT NULL AND LEN (@WhereCondition)>0
BEGIN 
SET @SQL=@SQL+'WHERE'+@WhereCondition
END
IF @OrderCondition IS NOT NULL AND LEN (@OrderCondition)>0
BEGIN 
SET @SQL=@SQL+'ORDER BY'+@OrderCondition
END
EXEC sp_executesql @SQL
RETURN



GO
CREATE PROCEDURE dbo.spInsert
(
@TableCondition nvarchar(255),
@ValueCondition nvarchar(255)=null
)
AS
DECLARE @SQL NVARCHAR(255)
SET @SQL='INSERT INTO['+@TableCondition+']'
IF @ValueCondition IS NOT NULL AND LEN (@ValueCondition)>0
BEGIN 
SET @SQL=@SQL+'VALUES('+@ValueCondition+')'
END
SET @SQL=@SQL+'SELECT SCOPE_IDENTITY()'
EXEC sp_executesql @sql
RETURN
GO



CREATE PROCEDURE dbo.spUpdate
(
@TableCondition nvarchar(255),
@SetCondition nvarchar(255)=null,
@WhereCondition nvarchar(255)=null
)
AS
DECLARE @SQL NVARCHAR(255)
SET @SQL='UPDATE ['+@TableCondition+']'
IF @SetCondition IS NOT NULL AND LEN (@SetCondition)>0
BEGIN 
SET @SQL=@SQL+'SET'+@SetCondition
END
IF @WhereCondition IS NOT NULL AND LEN (@WhereCondition)>0
BEGIN 
SET @SQL=@SQL+'WHERE'+@WhereCondition
END
EXEC sp_executesql @sql
RETURN
GO



CREATE PROCEDURE dbo.spDelete
(
@TableCondition nvarchar(255),
@WhereCondition nvarchar(255)=null
)
AS
DECLARE @SQL NVARCHAR(255)
SET @SQL='DELETE FROM ['+@TableCondition+']'
IF @WhereCondition IS NOT NULL AND LEN (@WhereCondition)>0
BEGIN 
SET @SQL=@SQL+'WHERE'+@WhereCondition
END
EXEC sp_executesql @sql
RETURN

少长咸集

群贤毕至

访客