MSSQL存储过程
mssql的存储过程里怎么获得一条SQL语句的执行状态是成功还是失败?我想在一张表中增加记录,首先要检查是否已经存在相同记录,如果存在就更新,否则就插入。
我就想先试试插入操作,失败了就去更新,或者先去更新失败了就去插入。我该怎么知道第一条语句是否执行成功呢?
一个存储过程传入多个参数,怎么知道某个参数是否有值传入啊?
SQL code:
1、@@ERROR
2、isnull()
SQL code:
if exists(select 1 from tb where ) --判断是否存在你要查找的记录 如果存在则update
update tb set col=''
else
insert tb values() --如果不存在则插入
SQL code:
CREATE PROC P(@ID INT,@NAME VARCHAR(10))
AS
IF NOT EXISTS(SELECT * from TB T WHERE ID=@ID AND NAME=@NAME)
INSERT TB (ID,NAME)SELECT @ID,@NAME
ELSE
UPDATE TB SET ID=@ID ,NAME=@NAME WHERE 条件
??
、@@ERROR
用这个判断是否成功
也可以用@@ROWCOUNT来判断
SQL code:
不过觉得你这个应该是触发器来方便
CREATE TRIGGER TRI ON TB
INSTEAD OF INSERT
AS
IF NOT EXISTS(SELECT * from TB T WHERE EXISTS(SELECT
相关问答:
asp+mssql 该如何返回如下信息呢
比如一个表里面的数据
date info
2009-1-1 13:00:00 12345
2009-1-1 13:00:01 12345
2009-1-1 13:00:02 12345
......
如题,查询语句参数应该怎么写啊?
给参数赋值 怎么弄啊?
with Query do begin
tempParam=parameters.addparameter;
tempParam.name='@begindate';
tempParam.Da ......
_RecordsetPtr pRs("ADODB.Recordset");
"provider=SQLOLEDB;Data Source=机器名\\SQLEXPRESS;Persist Security Info=False;User ID=sa;PWD=sa;initial catalog ......
一个数据库表 里面的字段有 VIP用户A类 VIP用户b类 VIP用户c类 VIP用户d类 VIP用户e类 VIP用户f类 。。。
里面的数据都是电话号码 ......