Ⅰ 求判断存储过程这么写是否正确.
先锁表试试LOCK TABLES aa1 WRITE;START TRANSACTION;你的sql语句;UNLOCK TABLES;
Ⅱ SQL 存储过程 判断星期
DECLARE @WeekNum VARCHAR --今天星期几
就这句,varchar你没定义长度,默认为1,汉字的话连1个长度都不显示了
改成
DECLARE@WeekNumVARCHAR(10)
Ⅲ 如何检测被锁住的Oracle存储过程
你是要找到被锁住的存储过程,还是要看存储过程是那部分执行慢,导致过程被锁住时间长。
如果是前者,那么oracle有个视图
v$locked_object和DBA_DML_LOCKS,这个能看出被锁的object都有哪些是哪个session锁的。
然后可以通过这个session_id找到相应的语句,找到语句后,就能知道是哪部分语句执行的时间较长了。
Ⅳ 如何判断存储过程是否存在在存储过程
----sqlserver判断
if (exists (select * from sys.objects where name = '存储过程名称'))
drop proc proc_test
go
create.....
----oracle判断
select status from all_objects where object_type = 'PROCEDURE' and OWNER='用户名' and object_name='存储过程名';
or
select status from user_objects where object_type = 'PROCEDURE' and object_name='存储过程名';
Ⅳ 帮忙检查存储过程
1、可能是错在 【from ('+@str+')】这个上面了,【('+@str+')】这个应该是个子查询吧,我经常遇到子查询的时候如果子查询没有起名字,就会报错。
2、改成下面这样试试:【from ('+@str+') as temp】
---
以上,希望对你有所帮助。
Ⅵ 存储过程判断
create procere procName
@id int
as
if(exists(select * from tableName where id=@id))
begin
update tableName
set columnName='value'
end
else
begin
insert into tableName
values('values1','values2')
end
打字不易,如满意,望采纳。
Ⅶ 判断存储过程是否存在
----sqlserver判断
if(exists(select*fromsys.objectswherename='存储过程名称'))
dropprocproc_test
go
create.....
----oracle判断
selectstatusfromall_objectswhereobject_type='PROCEDURE'andOWNER='用户名'andobject_name='存储过程名';
or
selectstatusfromuser_objectswhereobject_type='PROCEDURE'andobject_name='存储过程名';
有问题再追问。
Ⅷ oracle存储过程检查数
createorreplaceprocerep_add
is
p_cntnumber;
begin
selectcount(1)intop_cntfromAAA;
ifp_cnt=0then
insertintoAAAselect*fromAAA_tmp;
commit;
endif;
end;
Ⅸ 存储过程怎么判断执行成功
这个分两种情况:
由于存储过程是数据库自身的东西,JAVA只是调用
所以,如果是语法上的错误 sql直接不能执行 , JAVA确实能接收到异常
但是如果语法没有错误, 只是你写的条件错了, sql能执行,只是没有得到你想要的效果, 这个情况, 是判断不了的, 都会视为成功执行
如果 sql = "select from aaa where id > 10" 这直接是语法 错误,肯定报错
但 如果 sql = "update aaa set name = 'aaa' where id='123' "; 没有语法 错误 ,能执行, 只是没有id = 123的数据, 你要改124的,错写成123了, 就修改不了, 但也不会报任何错 北京科兰
Ⅹ 存储过程判断问题
UPATE xxx
SET
a=CASE WHEN(@a IS NULL) THEN a ELSE @a END,
b=CASE WHEN(@b IS NULL) THEN b ELSE @b END,
c=CASE WHEN(@c IS NULL) THEN c ELSE @c END,
d=CASE WHEN(@d IS NULL) THEN d ELSE @d END
WHER xxx