我有一个允许用户为记录指定特定格式的客户端。不是id,而是和。一样好。
因此用户可以选择说
的格式或
或
他们还可以添加更多项目以便您获得
难以在此处可视化解决方案以及如何将格式存储在表格中,请将其拉出并生成所需的数字。
特别是假设客户可以
我想我在这里缺少的重要部分是生成一个查询,如果已有记录,则会给我“下一个文件编号”。
修改
不限于sql。我想不出一个解决方案,它允许我以自定义格式存储数字,然后根据该格式生成下一个数字。
答案 0 :(得分:1)
我们要求用户做的是在更改格式时重新格式化现有记录。当格式改变时,我们知道旧格式和新格式,因此我们可以更新现有记录。
如果可视记录编号是您的操作的一部分并且需要保留,那么我会在记录中保留一个阴影副本,其中包含根据当前格式格式化的记录编号。当格式发生变化时,你可以在所有记录中更新它,找到下一个可用的数字现在是一个简单的选择语句。
答案 1 :(得分:1)
我不太明白你的意思,但这可能会启发你更多。
这就是我可能做的事情:
typedef struct tagRecord { Date (dd/mm/yyyy) Initials_Client Initials_FileManager Next_File_Number } Record; ... Let:
d = Date, ci = Initials_Client, fmi = Initials_FileManager, nfn = Next_File_Number SelectFormat(record[0], "dci"); // Display Date and Initials_Client Output:
12/4/2011 MH or SelectFormat(record[0], "cid"); // Initials_Client and Display Date Output:
MH 12/4/2011
如果您需要更多伪代码,请询问。