我有一個表命名爲以下信息hr_Folders:包含由|分隔的列表的更新列使用SQL
FolderId FolderName EmployeeId NumberOfEntries IsDeleted
1 Folder 1 9 1 0
2 Folder 2 9 1 0
3 Folder 3 9 1 0
並且存在folderids保存爲另一個表hr_EmployeeSavedRegistrants |分隔列表如下:
ID EmployeeID RegistrantID FolderID
44 9 4 1|2
45 9 5 1|3
46 9 6 2
我想創建一個存儲過程,其中當我通過folderid和僱員,它會刪除該從hr_folder,然後相應地更新hr_EmployeeSavedRegistrants表的FolderId列文件夾(刪除folderid列列表中folderid如果有在hr_EmployeeSavedRegistrants一個folderid,然後刪除該行像hr_EmployeeSavedRegistrants第3行)
至今編寫的代碼是:
CREATE PROC GetResumeCountInfolder
@Folder int
AS
DECLARE @FolderIDs VARCHAR(100)
SELECT @FolderIDs = FolderID from hr_EmployeeSavedRegistrants
where deleted = 0
and EmployeeID= 9
請建議如何做
感謝
**方面不是:**請不要將多個值存儲在一列中,就像您一樣。用[** normailze **](https://en.wikipedia.org/wiki/Database_normalization)代替創建一個新表'EmployeesFolders'會更容易。 – 2013-05-01 12:43:39
當您通過Employee/FolderId刪除文件夾時,是否實際刪除了該文件夾,還是將IsDeleted位設置爲1? – Aushin 2013-05-01 12:45:09
是的,這是很好的建議,但我可以拆分該欄 – DotnetSparrow 2013-05-01 12:45:21