SQL Server里的表定义:
"TEMPLATE_ID" UNIQUEIDENTIFIER DEFAULT newsequentialid() NOT NULL
到达梦数据库水土不服:
uniqueidentifier
类型newsequentialid()
函数想把DEFAULT newsequentialid()
改成DEFAULT newid()
但发现:
创建函数来模拟:
create function newsequentialid() return varchar(36)
as
begin
return newid();
end;
结果建表时报错:
[-2670]:DEFAULT约束表达式无效
原因:自定义函数不能用在DEFAULT里
一行代码解决:
CREATE SYNONYM newsequentialid FOR newid;
妙处:
guid()
是系统函数,有"通行证"newsequentialid
继承了这种权限有时候最复杂的难题,答案反而最简单。同义词这个平时不起眼的功能,关键时刻解决了大问题。
文章
阅读量
获赞