存儲過程判斷記錄是否存在
㈠ 用存儲過程循環判斷傳進來的數組中的某一項在數據中是否存在
sql">createprocereoap_dect(
inoutp_arrayvarchar(255),#通過(,)分隔符傳遞數組
outp_resultvarchar(255)#返回信息
)
begin
declarev_douhaoint(10)default0;
declarev_resultint(10)default0;
declarev_countint(10)default0;
declarev_datavarchar(255)default'';
declarev_data_infovarchar(40)default'';
setv_douhao=instr(v_data,',');
while(v_douhao>=1)
do
setv_count=v_count+1;
setv_data_info=substring(v_data,1,v_douhao-1);
selectcount(*)
intov_result
fromtable_name
wherefield_name=v_data_info;
setp_result=p_result+1;
setv_data_str=substring(v_data,v_douhao+1);
setv_fenhao=instr(v_data_str,',');
endwhile;
if(p_result<v_count)
setp_result=false;
else
setp_result=true;
endif;
end
㈡ Oracle存儲過程驗證一個記錄是否存在怎麼寫
select count(*)
into ...
from ..
where ...
判斷一下就是了,
或者有游標打開並fetch一次,判斷
curXXX%found
㈢ 如何在存儲過程中判斷ID=某個值的數據是否存在,在.net程序中獲取存儲過程返回的值
存儲過程
create proc UP_CheckUser
(
@col_id int,
@Result int output
)
as
begin
begin try
select * from 表名 where col_id=@col_id
if(@@rowcount=0)
begin
select @Result=1
end
else
begin
select @Result=0
end
end try
begin catch
select @Result=0
end catch
end
go
後台文件:
SqlParameter[] sp = new SqlParameter[2];
sp[0] = new SqlParameter("@col_id", col_id);
sp[1] = new SqlParameter("@Result", SqlDbType.Int);
sp[1].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery(CommandType.StoredProcere, "CheckUser", sp);
int nResult = Convert.ToInt32(sp[1].Value);
if (nResult == 0)
{
return 0;
}
else
{
return 1;
}
希望能對你有點用
㈣ 如何判斷存儲過程是否存在
直接右鍵,如果沒有edit,view等選項,那麼這個過程肯定不存在,或者create一個和這個存儲過程同名的過程,如果報錯,說明已經存在。
㈤ sql存儲過程 如何用IF來判斷變數表內數據是否存在
可以定義一個變數接收值
declare @A as varchar(max),@count integer
select @A='select @count = count(*) from '+ @變數表 + ' where 姓名='+@姓名
exec(@A)
if @count > 0
...
㈥ 建立一個存儲過程 需要把查到的數據插入到進去 並且判斷插入的數據是否存在 如果存在就不再插入。求語句
設表A(ID number),存儲過程如下:
create or replace procere P_insert(V_ID in number) as
i number:=0;
begin
select count(*) into i from A where ID=V_ID;
if i=0 then
insert into A values(V_ID);
end if;
commit;
end;
㈦ 創建存儲過程的時候,如何判斷記錄集是否為空
If not exists(SELECT UserName,Password,Flag,Lastlogin,LastIP,Logincount,Locked
FROM admin
WHERE AdminID = @adminid )
RETURN "該管理員ID在資料庫中不存在!"
--end if
END
記得好像沒有end if 不知道摟住用的什麼資料庫
-------
我給你一個傳參的例子吧
不過,返回整條的紀錄你需要有足夠多的參數(就是你想要的結果的參數)
create procere proc_test
@p1 int = 0,
@p2 int output
as
select @p2 = @p2 + @p1
go
declare @p2_output int
set @p2_output=6
execute proc_test 1, @p2_output output
select @p2_output
go
不明白的地方摟住可以留信息