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

SerenadeZhu 2014-05-30 10:36:21
我猜测多了N‘’表示标量函数引用不成功,但是有人知道为什么吗?

首先我问的是关于主键的字符串自动增长,标量函数如下。
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]()。
求针对性之处我的问题
谢谢!
...全文
255 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SerenadeZhu 2014-05-30
  • 打赏
  • 举报
回复
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
--小F-- 2014-05-30
  • 打赏
  • 举报
回复
函数式没有问题的 看你怎么调用的?
SerenadeZhu 2014-05-30
  • 打赏
  • 举报
回复
是SQL Server的,不好意思
--小F-- 2014-05-30
  • 打赏
  • 举报
回复
你这个语法可不像是MYSQL的。
水族杰纶 2014-05-30
  • 打赏
  • 举报
回复
引用 6 楼 u014038121 的回复:
[quote=引用 5 楼 wufeng4552 的回复:] [quote=引用 4 楼 u014038121 的回复:] 我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢[/quote]不要插入语句啊,我这不是对标量函数的直接引用么?[/quote] 是 你插入数据时候这列缺省应该没问题 现在的问题是什么
SerenadeZhu 2014-05-30
  • 打赏
  • 举报
回复
引用 5 楼 wufeng4552 的回复:
[quote=引用 4 楼 u014038121 的回复:] 我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢[/quote]不要插入语句啊,我这不是对标量函数的直接引用么?
水族杰纶 2014-05-30
  • 打赏
  • 举报
回复
引用 4 楼 u014038121 的回复:
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧