关于SQL 复制表后,见图:
把template表中的template_name,file_code插入到 folder表中
template_id name parentid file_code
66 ttttt 0
67 4444 66
68 77777 67
插入到 folder表中图为:
folder_id, folder_name, parent_id, file_code
1200 tttt 0
1201 4444 1200
1202 7777 1201
储过程写到这里了,关键部分的存储没写,高手请看一下补充完整,谢谢,是在不知道怎么弄。
ALTER PROCEDURE [dbo].[sp_DocumentTemplateCopy]
(
@CompanyCode varchar(100), -- 创建的文件夹跟目录
@TemplateType varchar(100), -- 输入要复制的模板类型
@CreateUserName varchar(50), -- 创建用户名
@FiledValue int output
)
AS
begin
IF(ISNULL(@CompanyCode,'') <> '')
begin
declare @sql nvarchar(500);
set @sql='set @num= (SELECT count(1) FROM [tbl_document_folder] WHERE folder_name ='''+ @CompanyCode +''' AND parent_id =0)';
EXECUTE sp_executesql @sql ,N'@num INT output',@FiledValue OUTPUT
if((@FiledValue=0) and ISNULL(@TemplateType,'') <> '')
begin
create table #temp
(
template_id INT,
template_type nvarchar(100),
template_name nvarchar(100),
parent_id INT,
file_code nvarchar(100),
sort_id INT
);
insert into #temp (template_id,template_type,template_name,parent_id,file_code,sort_id)
exec sp_Doc_DocTemplateTree @TemplateType;
//现在临时表就为 上图中的template 表,上图中的template是经过存储过程处理后的表,然后新建临时表存储结果,然后把结果插入到folder表,如图那样,小弟sql时间不长,很多东西都不太用,求指教
--********************************************************
补充部分代码
--********************************************************
drop table #temp
end
end
end
这么多人,怎么就每一个回答的呢,高手到潜水了?我对数据库不熟悉.....各位大侠,给个方案吧~!跪拜.........
你都写出来了,你想问什么?
谢谢各位已经解决了,使用数据库键值对(临时表),哈哈,用一个临时表当做程序里面的键值对一样使用,马上就出来了........前天是思路不开阔,谢谢各位~!