SQL Server 列的默认随机 10 个字符串值

2024-06-21

我有一个专栏rndm在我的桌子上[客人]。现在,对于领域Default value or Binding对于表,每当插入新行时,我想自动将 10 个字符的随机字符串插入到该列中作为默认值。

该随机字符串不能包含特殊字符,只能包含以下字符a-zA-Z0-9。实现这一目标的最佳方法是什么?

需要明确的是:我不想在 .NET 代码中生成这个随机字符串,我希望它在 SQL Server 中生成。我想将此字符串生成直接粘贴到字段中Default value or Binding对于表,因此不需要单独的 SQL 语句。例如,就像粘贴时一样getdate()进入现场Default value or Binding.


扩展 Deigo Garbar 已经建议的内容。

如果您想使用该表达式作为表中的默认值,则需要将该表达式放入函数中。

但问题是 UDF 函数不允许您在其中使用 NEWID() 函数,它会抱怨无法在 UDF 中使用非确定性函数 bla bla....

解决方法是首先创建一个视图,该视图仅调用此表达式,然后在函数内使用该视图,然后使用该函数作为表的默认值。

View

CREATE VIEW dbo.vw_Function_Base
AS
SELECT substring(replace(convert(varchar(100), NEWID()), '-', ''), 1, 10) AS Rand_Value

Function

CREATE FUNCTION dbo.fn_getRandom_Value()
RETURNS VARCHAR(10)
AS
BEGIN
  DECLARE @Rand_Value VARCHAR(10);
SELECT @Rand_Value = Rand_Value
FROM vw_Function_Base

  RETURN @Rand_Value;
END

现在您可以使用此函数作为表中的默认值。

Test

CREATE TABLE SomeTest_Table
 ( ID        INT
 , RandValue VARCHAR(10) DEFAULT dbo.fn_getRandom_Value()
 )
GO

 INSERT INTO SomeTest_Table(ID)
 VALUES (1)
GO

 SELECT * FROM SomeTest_Table

重要的提示

我不相信 GUID 值的这一部分将始终是唯一的,所以要小心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 列的默认随机 10 个字符串值 的相关文章

  • SQL 英文查询发生了什么?

    SQL Server 2000 与 English Query 一起部署 当时我还年轻 对 SQL 还很陌生 所以我跳过了那一章 多年后的现在 又出现了制作一个可以理解简单用户问题的逻辑程序的想法 还有其他选择吗 英语查询现在在哪里 英文查
  • SQL Server:如何从递归函数内执行更新?

    我有一个递归标量函数 需要根据它返回的值更新另一个表中的记录 但是函数中不允许使用 UPDATE 语句 如何从函数内更新表 不允许使用 UPDATE 语句 功能 这就是规则 函数不允许有任何数据更改的副作用 您必须使用存储过程来UPDATE
  • 连接别名计算列中的行

    我有两张表 一张名为 Car 一张名为 Mileage 汽车表有以下列 CarName varchar max 里程表有以下列 CarMileage int CarName varchar max TotalGasTrips int 我的代
  • 什么时候应该在 SQL Server 中使用分号?

    在检查 Web 上的一些代码和 SQL Server Management Studio 生成的脚本时 我注意到某些语句以分号结尾 那么我应该什么时候使用它呢 来自 SQLServerCentral Comarticle http www
  • MySQL - 将字段的默认值设置为字符串连接函数

    我有一个看起来有点像这个的表 actor forename surname stage name 我想将 stage name 更新为默认值 forename surname So that insert into actors foren
  • SQL Server:十进制精度/小数位数产生奇怪的结果

    我正在为一个项目编写一些 SQL 我注意到 SQL Server 中一些看似奇怪的行为 涉及除以小数时的答案 以下是一些示例 说明了我所看到的行为 DECLARE Ratio Decimal 38 16 SET Ratio CAST 210
  • 插入 SQL Server 视图时使用 @@identity 或输出?

    请原谅我 我对 StackOverflow 和 SQL 都是新手 Tl dr 使用时 identity 或任何其他选项 例如scope identity或输出变量 是否也可以使用视图 这是一个使用存储过程的示例 identity SNIP
  • 如何从 Java 中的 Random 中获取种子?

    我正在为某个对象创建深度克隆 该对象包含一个Random 从种子中取回种子是个好习惯吗 Random 如果是这样 怎么办 没有一个Random getSeed 获取种子的一种更简单的方法是生成一个种子并将其存储为种子 我正在游戏中使用这种方
  • sql查询中where子句中的CASE语句

    我正在尝试在我正在处理的查询的 where 子句中编写一个 case 语句 我正在水晶报告中导入代码 我基本上是想说明变量 类型 是否设置为 创建 以便在where子句中为该日期范围运行 否则为不同的日期范围运行 它一直给我一个错误 我似乎
  • SQL:从单个查询列出多对多

    我有 3 个表 分别代表 Users Roles 和多对多 UsersInRoles 键为 UserId RoleId 相关列 用户名 角色名 在管理 html 应用程序中 我想显示所有用户及其所在角色的列表 我尝试从 SQL 构建一个将返
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • 将记录与另一个表上的最新记录连接

    我正在尝试创建一个 SQL 视图 我如何从一个表中选择最新的记录 而其他记录保持原样 我需要从所有表中选择所有记录 这工作正常 但我需要仅按日期选择最新的提案 这是我遇到的问题 这是我到目前为止所拥有的 SELECT TOP 100 PER
  • Redis 与 SQL Server 性能对比

    应用程序性能是使用缓存而不是关系数据库的主要原因之一 因为它以键值对的形式将数据存储在内存中 所以我们可以将经常访问的不经常更改的数据存储在缓存中 从缓存中读取比从数据库中读取要快得多 Redis 是分布式缓存市场上最好的解决方案之一 我正
  • mssql 的 UUID 疯狂

    我的数据库条目有一个 UUID 及其值 使用 Microsoft SQL Server Management Studio 提取 CDF86F27 AFF4 2E47 BABB 2F46B079E98B 将其加载到我的 Scala 应用程序
  • ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?

    在 INFORMATION SCHEMA ROUTINES 视图中 存在 ROUTINE NAME 和 SPECIFIC NAME 按照MSDN http msdn microsoft com en us library ms188757
  • 工厂模式数据库连接

    我正在尝试使用 MySQL 实现数据库连接上的工厂模式 SQL Server 面临奇怪的错误 你调用的对象是空的 在 SQL 命令对象上 internal class SqlServerDB IDatabase private SqlCon
  • 如何编辑表以启用级联删除?

    我有一个代表用户的表 当用户被删除时我得到 DELETE 语句与 REFERENCE 约束冲突 显然 CASCADE DELETE在SQL Server中并不像我想象的那么容易 需要将选项添加到表中 问题是 我不知道如何添加CASCADE
  • 为什么实体框架 6 在插入后不只选择scope_identity()?

    当您使用 EF 6 1 保存实体时 将生成并执行以下 SQL 代码 exec sp executesql N INSERT dbo Customers Name FirstName VALUES 0 1 SELECT CustomerId
  • 在 Racket 中设置默认参数值

    是否可以为 Racket 中的某些参数设置默认值 就像 Python 中这样 def f arg 0 是的 看一眼 声明可选参数 http docs racket lang org guide lambda html 28part Decl
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做

随机推荐

  • 发布Oracle和SQL Server性能测试是否违反许可? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想对Oracle和SQL Server中的空间索引进行性能测试 我想将其纳入我的理学硕士工作中 发布此类结果是否违反 dbms 的许可 也许有人已经
  • 为什么在一行中使用这个 C++ 函数两次会导致编译错误?

    我在尝试在 Visual C 2010 中实现智能相等测试宏类型模板函数时遇到了一些麻烦 该函数与VS 中关于模板函数默认参数的错误 https stackoverflow com questions 10343177 why do i g
  • Java applet 是否会违反同源策略

    我需要请求一些东西并从其他域获取信息 我知道由于同源政策 javascript 无法做到这一点 我的另一个选择是通过我的服务器发出代理请求 我不希望请求来自我的服务器的 IP 也不想为我的服务器创建额外的负载 并且希望客户端这样做 是否可以
  • 凭证过期错误/异常的 HTTP 状态代码应该是什么?

    我正在开发 RESTful API 我已经实现了基于令牌的身份验证 其中令牌摘要是使用时间戳准备的 现在 当请求到达 API 服务器时 我正在检查提供的时间戳是否无效 即指定了未来 过去的日期时间 然后抛出错误消息 指示 检测到未来令牌 或
  • Scala API 2.10.*:Function2.and然后发生了什么?

    我正在阅读 Joshua Suereth 所著的 Scala in Depth 我购买这本书是为了了解作者的明确能力 我在第 3 页上 在出现一堆拼写错误和不连贯的格式之后 好吧 我已经开始容忍这些错误 我偶然发现了以下示例 该示例涉及解决
  • C# 使用 .Equals() 比较两个 double

    我使用 ReShaper 当我用 比较两个双精度值时 它建议我应该使用 Math 具有公差的 ABS 方法 看 https www jetbrains com help resharper 2016 2 CompareOfFloatsByE
  • 为什么我收到 com.facebook.sdk.login 错误 308?

    我正在使用 Xcode 7 0 在 iOS 9 0 2 上进行测试并使用 Facebook SDK 4 7 0 当我登录用户时 大多数时候一切都正常 但有时我不断收到此错误 但我不知道为什么 操作无法完成 com facebook sdk
  • Spring 和 Hibernate 连接池

    如何使用 Spring 和 Hibernate 配置连接池 Thanks Venu 您可以使用 DBCP 组件
  • Web 和 winforms 的 .Net 身份验证

    我有一个为客户端构建的 ASP NET Web 应用程序 它使用默认的 ASP NET 表单身份验证 他们现在请求一个能够 与 Web 应用程序一起工作的桌面 WinForms 应用程序 我已经创建了 Web 服务来访问他们想要从 Web
  • 在Python 3.2中,我可以使用http.client打开并读取HTTPS网页,但urllib.request无法打开同一页面

    我想打开并阅读https yande re https yande re with urllib request 但我收到 SSL 错误 我可以使用以下方式打开并阅读页面http client用这个代码 import http client
  • Delphi XE2,vcl样式重新创建窗口句柄

    在运行时应用新样式后 我的应用程序的 MainForm 创建一个新的窗口句柄 有什么方法可以阻止此操作或重新分配句柄 因为我收到了大量以下错误 系统错误 代码 1400 无效的窗口句柄 有什么方法可以操纵强制分配新句柄的进程吗 我通过执行以
  • Xcode 中的 Prefix.pch 文件是什么?

    许多开发人员正在向其中添加各种方便的宏Prefix pch 但我的问题是那是什么Prefix pch file 如果我删除它Prefix pch来自我的文件Xcode 那么我的应用程序会运行吗 或者会显示什么错误吗 或者它会在构建过程中崩溃
  • 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

    我正在这样做 students Student find gt all return this gt render process array students gt students 然后在视图中 foreach students as
  • 如何从 Excel 加载项内识别 Office 365 用户帐户

    我想了解是否有任何 API 可以帮助我们从我的 Excel 加载项 javascript 代码中查找 Office 365 用户帐户信息 例如 假设用户拥有 Office 电子邮件帐户 电子邮件受保护 cdn cgi l email pro
  • 初始化Object中的空字符串?

    有人使用以下方法来初始化 NSstring NSString astring NSString alloc init 我想知道为什么不直接使用 NSString atring nil or NSString astring 没有semant
  • 通知管道右侧左侧故障?

    我越来越喜欢在 shell 脚本中的函数之间使用类似于生成器的模式 像这样的事情 parse commands da cmd file process commands 然而 这种模式的基本问题是 如果 parse command 遇到错误
  • Aurelia - click.delegate 错误 - 说该函数不是函数

    Novice 我有一个视图模型 它有一个简单地切换值的函数 import autoinject from aurelia framework import bindable from aurelia templating import Lo
  • Mercurial:移植、记录、qrecord、搁置、移植、dirstate、队列

    我是 Mercurial 的新手 并且仍处于评估过程中 因此这四个概念对我来说有点令人困惑 有些被认为相当于 Git 的 Staging Index 概念 有些甚至比 Git 的 Staging 更好 四个命令怎么做hg graft hg
  • 为什么标签存在却提示“系统找不到指定的批次标签”?

    在 Windows XP 中运行批处理文件时 我发现随机出现的错误消息 系统找不到指定name of label的批次标签 标签当然存在 导致此错误的原因是什么 实际上 要实现这一点 你需要两个条件 批处理文件不得使用 CRLF 行结尾 您
  • SQL Server 列的默认随机 10 个字符串值

    我有一个专栏rndm在我的桌子上 客人 现在 对于领域Default value or Binding对于表 每当插入新行时 我想自动将 10 个字符的随机字符串插入到该列中作为默认值 该随机字符串不能包含特殊字符 只能包含以下字符a zA