Sql server 在SQL Server中创建存储函数以从序列生成id
sql-server
Sql server 在SQL Server中创建存储函数以从序列生成id,sql-server,Sql Server,我在SQL Server中创建了如下序列:CREATE
Sql server 在SQL Server中创建存储函数以从序列生成id sql-server Sql server 在SQL Server中创建存储函数以从序列生成id,sql-server,Sql Server,我在SQL Server中创建了如下序列:CREATE SEQUENCE dbo.cust_acc_seqSTART WITH 1771INCREMENT BY 1 ; GO我试图创建一个存储函数来返回序列中的下一个值,下面是相同的代码CREATE FUNCTION dbo.GetSeq_Cust_Acc()RETURNS VARCHAR(250)AS BEGINDECLARE @Work VARCHAR(250)SET @Work = 我在SQL Server中创建了如下序列:
我试图创建一个存储函数来返回序列中的下一个值,下面是相同的代码
但在执行此操作时,我得到了以下错误: 在检查约束、默认对象、计算列、视图、用户定义函数、用户定义聚合、用户定义表类型、子查询、公共表表达式或派生表中不允许使用函数的下一个值 如果在定义存储函数时遗漏了什么mssql 使用序列,请告诉我。 好吧。。。这是不允许的(因为函数不能影响数据)。您可以将其放在存储过程中。但既然它实际上做的不多,为什么还要在函数/存储过程中对其进行平衡呢?还要注意,您的函数正在进行隐式转换(INT到VARCHAR),这是一种不好的做法。@Rakesh您真的确定这是SQL吗?序列用于PLSQLSo,函数的下一个值的哪一部分在..中是不允许的。。。。。您不了解用户定义的函数吗?错误明确表示:不允许在函数中为 使用下一个值。因此,您无法做到这一点-您需要考虑另一种方法来做到这一点(例如对列使用默认约束、触发器或其他方法) (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |