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
相关问答:
各位大侠 ,我今天做了个job,sql是 exec proc_showresult.
可就是不能执行 ,然后我吧这个sql换成 select 1。就没问题,这是什么原因啊 请高手指教
存储过程有参数没??
也许是执行了,你没 ......
如题,查询语句参数应该怎么写啊?
给参数赋值 怎么弄啊?
with Query do begin
tempParam=parameters.addparameter;
tempParam.name='@begindate';
tempParam.Da ......
各位大侠,在sql server2000 中,如何导入表,他里面的结构都不发生变化,像索引,主键等还是原来表里的设置,如果生成sql脚本的话,在查询分析器里执行一次,主键索引都没了,有没有好的办法
备份还原或者附加是唯 ......
目前有表A和表B
其中字段相同
表A中主键id为自增长
并且为大数据量储存
怎么样使用存储过程可以将表A中的数据备份到表B中,并且删除表A中备份过的数据
高手给一个存储过剩,谢谢
分区表可以将表中的 ......
sql 2005里有些2000里没有的用户,不知道分别有什么功能?
出于安全考虑,哪些应该删除哪些应该拒绝访问?
谢谢!
BUILTIN\Administrators
BUILTIN\Users
NT AUTHORITY\SYSTEM
xxxx\SQLServer ......