Foxtable(狐表)用户栏目专家坐堂 → 用uniqueidentifier唯一不重复的问题请教


  共有1451人关注过本帖树形打印复制链接

主题:用uniqueidentifier唯一不重复的问题请教

帅哥哟,离线,有人找我吗?
HappyFt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
用uniqueidentifier唯一不重复的问题请教  发帖心情 Post By:2024/3/27 21:44:00 [只看该作者]

项目中有 供应商id, 客户id, 部门id等类似的唯一字段都是在几个不同的小表中(数据量不大),现在想实现所有这些表的id值都不重复,方便调用;
传统的作法是将这些id列都设成整数列,用一个获取最大顺序号的储存过程,每个表新增时都提取当前最大号,然后更新后台最大号加1这样的方式;
这样的操作方式一个是有点麻烦,另外担心是否不同的用户同时调用这个储存过程是否会得到重复的值?

现在想把这些列设置uniqueidentifier,默认用newid()生成,这样就不会重复了,但这样占用空间更大,查询效率是否更低?有人这样用吗?

谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/28 8:43:00 [只看该作者]

储存过程里加上事务就不会重复了

现在的硬盘便宜的要命,容量都是以兆来计算的,guid这一点点存储空间99牛一毛而已

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17558 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2024/3/28 20:03:00 [只看该作者]

好的,但有个问题用sql拼接字符串一次性保存时,
如str2 + = "'" & r(dc.Name) & "',"
拼接到uniqueidentifier的这个字段的值时会出错
提示没有为字符串"'" 和类型"Guid" 定义运算符" & "
要如何解决呢?

谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110551 积分:562645 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/28 20:19:00 [只看该作者]


 回到顶部