CREATE PROCEDURE [dbo].[SpGetNewNumber] @tableName varchar(100),/*表名*/ @columnName varchar(100),/*列名*/ @projectId varchar(50), @prefix varchar(25),/*流水号编码前缀*/ @returnVal nvarchar(30) output AS /*获取各模块的流水号*/ declare @sql nvarchar(500), @old nvarchar(50), @newid varchar(50), @maxId nvarchar(30)/*已分配的最大值*/ select @sql=N'SELECT @maxId=MAX('+@columnName+') from '+@tableName+' where ProjectId = '''+@projectId+''' and ' + @columnName+' like ' + '''%' + @prefix + '%''' EXEC sp_executesql @sql, N'@maxId nvarchar(30) OUTPUT', @maxId OUTPUT set @old=@maxId IF(@old is null) BEGIN set @newid=@prefix+'00001' END ELSE BEGIN set @newid = (select max(right(@old,5)))+1 set @newid = @prefix +right('00000'+@newid,5) END SET @returnVal=@newid GO CREATE TABLE [dbo].[ProjectData_CodeTemplateRule]( [CodeTemplateRuleId] [nvarchar](50) NOT NULL, [ProjectId] [nvarchar](50) NULL, [MenuId] [nvarchar](50) NULL, [Template] [nvarchar](max) NULL, [Symbol] [nvarchar](10) NULL, [IsProjectCode] [bit] NULL, [Prefix] [nvarchar](50) NULL, [IsUnitCode] [bit] NULL, [Digit] [int] NULL, [OwerSymbol] [nvarchar](10) NULL, [OwerIsProjectCode] [bit] NULL, [OwerPrefix] [nvarchar](50) NULL, [OwerIsUnitCode] [bit] NULL, [OwerDigit] [int] NULL, CONSTRAINT [PK_ProjectData_CodeTemplateRule] PRIMARY KEY CLUSTERED ( [CodeTemplateRuleId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO ALTER TABLE [dbo].[ProjectData_CodeTemplateRule] WITH CHECK ADD CONSTRAINT [FK_ProjectData_CodeTemplateRule_Base_Project] FOREIGN KEY([ProjectId]) REFERENCES [dbo].[Base_Project] ([ProjectId]) GO ALTER TABLE [dbo].[ProjectData_CodeTemplateRule] CHECK CONSTRAINT [FK_ProjectData_CodeTemplateRule_Base_Project] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单规则id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'CodeTemplateRuleId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'ProjectId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'MenuId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'模板内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Template' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'间隔符号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Symbol' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加项目号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'IsProjectCode' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'前缀' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Prefix' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加单位代号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'IsUnitCode' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'流水号位数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Digit' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'间隔符号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerSymbol' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加项目号(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerIsProjectCode' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'前缀(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerPrefix' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加单位代号(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerIsUnitCode' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'流水号位数(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerDigit' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目菜单规则(编码/模板)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule' GO INSERT INTO SGGLDB.dbo.ProjectData_CodeTemplateRule SELECT * from HSSEDB.dbo.ProjectData_CodeTemplateRule where ProjectId in (select projectid from SGGLDB.dbo.Base_Project) go