create procedure p_organization @orgName varchar(20),@parentId varchar(20),@newId varchar(20) output
as
declare @maxId int
select @maxId=max(Or_Id)+1 from T_Organization where Or_Parent=@parentId
if @maxid>1
begin
set @newid= right(replace(space(len(@parentId)+2),' ','0')+cast(@maxId as varchar) ,len(@parentId)+2)
insert into T_Organization(Or_Id,Or_Name,Or_Parent) values(@newid,@orgName,@parentId)
end
else
begin
set @newid=@parentId+'01'
insert into T_Organization(Or_Id,Or_Name,Or_Parent) values(@newId,@orgName,@parentId)
end
as
declare @maxId int
select @maxId=max(Or_Id)+1 from T_Organization where Or_Parent=@parentId
if @maxid>1
begin
set @newid= right(replace(space(len(@parentId)+2),' ','0')+cast(@maxId as varchar) ,len(@parentId)+2)
insert into T_Organization(Or_Id,Or_Name,Or_Parent) values(@newid,@orgName,@parentId)
end
else
begin
set @newid=@parentId+'01'
insert into T_Organization(Or_Id,Or_Name,Or_Parent) values(@newId,@orgName,@parentId)
end
解决方案 »
- 关于oracle用户复杂口令的代码
- 在线请教一个关于数据统计的问题。
- 100分迫切求助存储过程
- oracle关于方案的问题
- 如何用jsp向oracle9i中存储并提取图片显示在web页面中?
- oracle在win2003Server上的安装问题
- 如何恢复oracle数据库??
- 有关临时表问题(请帮忙从一个SQLServer 2000的一个语句改到Oracle中来)
- 无法登陆oracle?
- 求教有关在Oracle DBA Studio中的操作
- 我用了windows优化大师后(包括删除了垃圾文件,优化注册表),监听服务无法启动了,提示"系统找不到指定的路径。",请专家指教,多谢
- 在insert 一行数据 的时候 要同时得到其中一字段 序列值 应该如何写sql?
exec p_organization '12','34',@ret output
select @ret
drop proc 'P_Organization'create proc P_Organization
@orgName nvarchar(10),
@parentid nvachar(10),
@newid nvarchar(10) output
as
declare @maxid int
declare @tnewid nvarchar(10)
select @maxid=max(Or_Id)+1 from T_Organization where Or_Parent=@parentid
if(@maxid>1)
set @tnewid=replace(space(len(@parentid)+2-len(@maxid)),' ','0')+@maxid
else
set @tnewid=@parentid+'01'
insert into T_Organization(Or_Id,Or_Name,Or_Parent) values(@tnewid,@orgName,@parentId)
set @newid=@tnewid
go