首先我问的是关于主键的字符串自动增长,标量函数如下。
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
插入语句呢
#6
不要插入语句啊,我这不是对标量函数的直接引用么?
#7
不要插入语句啊,我这不是对标量函数的直接引用么?
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢
是
你插入数据时候这列缺省应该没问题
现在的问题是什么
#1
你这个语法可不像是MYSQL的。
#2
是SQL Server的,不好意思
#3
函数式没有问题的 看你怎么调用的?
#4
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
#5
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢
#6
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢
#7
不要插入语句啊,我这不是对标量函数的直接引用么?
我就在默认值那块直接写[dbo].[NextStuId1](),然后就出现上图那样外层多了N'' 这样的形式
插入语句呢
是
你插入数据时候这列缺省应该没问题
现在的问题是什么