首页 > 数据库技术 > 详细

sqlserver 存储过程 增加

时间:2017-08-31 17:33:07      阅读:232      评论:0      收藏:0      [点我收藏+]

亲测可用

CREATE PROCEDURE [dbo].[InsertMessage](
@strTable varchar(50),         --表名
@strValues nvarchar(1000),     --要插入的数据(用英文逗号分隔),如果是字符串类型,需加单引号
@only_field varchar(20)=NULL,  --唯一性字段(列名)
@only_value varchar(20)=NULL,  --唯一性字段值
@msg nvarchar(50)=NULL         --错误消息
)
as
BEGIN SET NOCOUNT ON;
declare @sqlString varchar(5000);

IF @only_field is not null
    begin
        declare @p int;                    --查询唯一性结果
        declare @sql nvarchar(1000);       --拼接查询sql字串
        set @sql=SELECT @p=count(1) FROM  +@strTable+ WHERE  +@only_field+=+@only_value;
        exec sp_executesql @sql,N@p AS int OUTPUT,@p OUTPUT
    
        if @p > 0
            begin
                raiserror(@msg ,16,1)
                return
            end
        else
            begin
                set @sqlString = insert into +@strTable+ values (+@strValues+);
                exec(@sqlString);
            end
    end
ELSE
    begin
        set @sqlString = insert into +@strTable+ values (+@strValues+);
        exec(@sqlString);
    end
END

--execute [dbo].[InsertMessage] base._Member,"0,2,getdate(),0,1,‘4445‘,‘654321‘,‘654321‘,N‘邹柯00‘",AcctNbr,4445,N会员卡号已存在,不能重复添加!
--execute [dbo].[InsertMessage] base._Member,"0,2,getdate(),0,1,‘4445‘,‘654321‘,‘654321‘,N‘邹柯00‘",NULL,NULL,NULL

 

sqlserver 存储过程 增加

原文:http://www.cnblogs.com/zouke1220/p/7459323.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!