SQLSERVER自定义函数,生成主键
? --建立函数? Create ? Function ? F_GetCustomerID() ? ? Returns ? Varchar(16) ? ? As ? ? Begin ? ? Declare ? @S ? Varchar(16) ? ? Select ? @S= ? 'CR'+Right(100000000000000+IsNull(Right(Max(CustomerID),14),0)+1,14) ? From???CustomerInfomation? Return ? @S ? ? ? End ? ? GO ? ? --建立测试环境???? CREATE ? TABLE?? CustomerInfomation(???? CustomerID varchar(16) ? NOT ? NULL ? Default ? dbo.F_GetCustomerID(),?????? CustomerName??varchar(20) ? NOT ? NULL,? ? Constraint ? PK_Customer_ID ? Primary ? key(CustomerID) ? ? ) ? ? GO ? ? --测试???? Insert?? CustomerInfomation(CustomerName??)??values('aa') ? ? Insert?? CustomerInfomation(CustomerName??)??values( 'bb') ? ? Insert?? CustomerInfomation(CustomerName??)??values( 'cc' )? ? ? ? Select ? * ? From?? CustomerInfomation? GO ? ? --删除测试环境???? Drop ? Table?? CustomerInfomation? Drop ? Function ? F_GetCustomerID? --結果 ? ? /*???? CustomerID CustomerName??? CR00000000000001 aa???? C00000000000002 bb ? ? BK00000000000003 cc ? ? */ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – SQL Server:无法为链接服务器“(null)”初始
- sqlserver 2008R2 连接服务器sqlserver 2014
- sql – 如何为所有行选择XML字段节点
- 数据库 – ODBC和OleDB有什么区别?
- mssql sqlserver 将字段null(空值)值替换为指定值的三种方法
- sql-server – SSIS存储过程使用Temp Table 2008和2014
- CentOS Linux系统下安装Redis过程和配置参数说明
- Windows7中配置安装MySQL 5.6解压缩版
- Linux Redis 的安装步骤详解
- sql-server – 将数组参数传递给存储过程