如何将数据插入sql server

问题描述 投票:0回答:1

我有一个 json 声明 @json NVARCHAR(MAX) = N'{ “文件夹id”:0, “parent_id”:0, "folder_name": "图片", "folder_path": "App_Templates\AllFiles\Images", “子文件夹”:[ { “文件夹id”:0, “parent_id”:0, “文件夹名称”:“1”, "folder_path": "App_Templates\AllFiles\Images ", “子文件夹”:[ { “文件夹id”:0, “parent_id”:0, “文件夹名称”:“2”, "folder_path": "App_Templates\AllFiles\Images ", “子文件夹”:[], “文件”:[ { “文件ID”:0, “文件夹id”:0, "file_name": "11111111111.jpg", “扩展名”:“.jpg”, "file_path": "App_Templates\AllFiles\Images I11111111.jpg" } ] } ], “文件”:[ { “文件ID”:0, “文件夹id”:0, "file_name": "莫甘娜.jpg", “扩展名”:“.jpg”, "file_path": "App_Templates\AllFiles\Images \moganna.jpg" }, { “文件ID”:0, “文件夹id”:0, "file_name": "亚索猫.jpg", “扩展名”:“.jpg”, "file_path": "App_Templates\AllFiles\Images\亚索猫.jpg" }, { “文件ID”:0, “文件夹id”:0, "file_name": "亚索_情人节联盟 by Jaunea on DeviantArt.jpg", “扩展名”:“.jpg”, "file_path": "App_Templates\AllFiles\Images \Yasuo_ 情人节联盟 by Jaunea on DeviantArt.jpg" } ] } ], “文件”:空 }';

我想将数据插入到 dbo.folders 和 dbo.files 表中,知道parent_id存储包含它的文件夹的folder_id,dbo.files.folder_id存储包含它的文件夹的folder_id

sql json sql-server database object
1个回答
0
投票

创建临时表以将文件夹路径映射到 ID 插入根文件夹 使用递归 CTE 来:

处理任意深度的所有子文件夹 维持亲子关系

插入具有正确的folder_id引用的所有文件

© www.soinside.com 2019 - 2024. All rights reserved.