01 aa
0101 bb
010101 cc
~~
~~
作這樣一個下拉數據窗口,使得
id=01時,得到name=aa ;
id=0101時,得到name=aabb;
id=010101時,得到name=aabbcc.
表結構已經不可能改變了,數據量還很大,我現在是用函數取得NAME再賦到數據窗口中
這樣需要很久的時間,有沒有更有效率的方法!!
在線等待!急~~~~
...全文
4315打赏收藏
關於下拉數據窗口技術!!
有這樣一個表 id name 01 aa 0101 bb 010101 cc ~~ ~~ 作這樣一個下拉數據窗口,使得 id=01時,得到name=aa ; id=0101時,得到name=aabb; id=010101時,得到name=aabbcc. 表結構已經不可能改變了,數據量還很大,我現在是用函數取得NAME再賦到數據窗口中 這樣需要很久的時間,有沒有更有效率的方法!! 在線等待!急~~~~
if @@NESTLEVEL = 2
begin
create table ##code(id varchar(50), code varchar(50))
end
select @code = code --改成你的表名和字段名
from code_table
where id = @id
insert into ##code
values(@id, @code)
set @id_length = len(@id)
set @id_length = @id_length-2
if @id_length > 0
begin
set @id = left(@id, len(@id) - 2)
exec up_code_table @id
end
else
begin
declare my_cur cursor for
select id, code
from ##code
order by id asc
open my_cur
fetch next from my_cur into @id, @code
while @@fetch_status = 0
begin
set @code_result = @code_result + @code
fetch next from my_cur into @id, @code
end
drop table ##code
select @id, @code_result
CLOSE my_cur
DEALLOCATE my_cur
end
存储过程2 up_code_table_result
CREATE PROCEDURE up_code_table_result
as
declare @id varchar(50), @code varchar(50)
if @@NESTLEVEL = 1
begin
create table ##code_result(id varchar(50), code varchar(50))
end
declare my_cur_result cursor for
select id, code ----改成你的表名和字段名
from code_table
order by id asc
open my_cur_result
fetch next from my_cur_result into @id, @code
while @@fetch_status = 0
begin
insert into ##code_result
exec up_code_table @id
fetch next from my_cur_result into @id, @code
end