关于MySQl中主键字符串自动增长标量函数默认值设置问题

时间:2021-12-03 04:22:48
我猜测多了N‘’表示标量函数引用不成功,但是有人知道为什么吗?
关于MySQl中主键字符串自动增长标量函数默认值设置问题
首先我问的是关于主键的字符串自动增长,标量函数如下。
USE [StuScoreDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON

GO
CREATE function [dbo].[NextStuId1]()

returns char(12)
as
begin
return
 (select 'XH'+convert(varchar(4),year(getdate()))+right(1000001+isnull(right(max(StuGuid),6),0),6) from StuInfo1 with(xlock,paglock))
end

GO

首先我的数据库名是StuScoreDB,字符串自动增长对应的是StuInfo1表中的StuGuid字段。
我的问题是主键字符串自动增长实现不了,只是出现默认值[dbo].[NextStuId1]()。
求针对性之处我的问题
谢谢!

7 个解决方案

#1


 你这个语法可不像是MYSQL的。

#2


是SQL Server的,不好意思

#3


函数式没有问题的 看你怎么调用的?

#4


我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

#5


引用 4 楼 u014038121 的回复:
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

插入语句呢

#6


引用 5 楼 wufeng4552 的回复:
Quote: 引用 4 楼 u014038121 的回复:

我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

插入语句呢
不要插入语句啊,我这不是对标量函数的直接引用么?

#7


引用 6 楼 u014038121 的回复:
Quote: 引用 5 楼 wufeng4552 的回复:

Quote: 引用 4 楼 u014038121 的回复:

我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

插入语句呢
不要插入语句啊,我这不是对标量函数的直接引用么?


你插入数据时候这列缺省应该没问题
现在的问题是什么

#1


 你这个语法可不像是MYSQL的。

#2


是SQL Server的,不好意思

#3


函数式没有问题的 看你怎么调用的?

#4


我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

#5


引用 4 楼 u014038121 的回复:
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

插入语句呢

#6


引用 5 楼 wufeng4552 的回复:
Quote: 引用 4 楼 u014038121 的回复:

我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

插入语句呢
不要插入语句啊,我这不是对标量函数的直接引用么?

#7


引用 6 楼 u014038121 的回复:
Quote: 引用 5 楼 wufeng4552 的回复:

Quote: 引用 4 楼 u014038121 的回复:

我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式

插入语句呢
不要插入语句啊,我这不是对标量函数的直接引用么?


你插入数据时候这列缺省应该没问题
现在的问题是什么