Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在数据库级别修剪来自当前用户SQL server的响应_Sql Server_Tsql - Fatal编程技术网

Sql server 在数据库级别修剪来自当前用户SQL server的响应

Sql server 在数据库级别修剪来自当前用户SQL server的响应,sql-server,tsql,Sql Server,Tsql,我有一个旧的应用程序,它使用了几个存储过程,试图在几个不同的表上的“Last_Updated_By”6字符字段中保存当前_用户值,并且该应用程序只能支持6字符的用户名 由于Active Directory的更改,用户现在是COMPANY\JORDAN,而不仅仅是JORDAN,因此存储过程尝试更新/插入“Last\u Updated\u By”值时会出现截断错误 是否有任何方法可以在数据库级别覆盖当前用户的值以使其正确(当前用户,8,6)?否,您不能替换或重载当前用户 您需要执行以下操作之一:

我有一个旧的应用程序,它使用了几个存储过程,试图在几个不同的表上的“Last_Updated_By”6字符字段中保存当前_用户值,并且该应用程序只能支持6字符的用户名

由于Active Directory的更改,用户现在是COMPANY\JORDAN,而不仅仅是JORDAN,因此存储过程尝试更新/插入“Last\u Updated\u By”值时会出现截断错误


是否有任何方法可以在数据库级别覆盖当前用户的值以使其正确(当前用户,8,6)?

否,您不能替换或重载当前用户

您需要执行以下操作之一:

  • 换桌子
  • 更改代码
  • 添加要更新的触发器

不,您不能更换或过载当前用户

您需要执行以下操作之一:

  • 换桌子
  • 更改代码
  • 添加要更新的触发器

您可以在表中添加一个计算列来完成此操作。从技术上讲,您还可以重命名列,以使转换透明。但是,如果您不需要走那么远,我只需要添加计算列,然后切换您的各种进程等等,以实现这一目标。

您可以在表中添加计算列来实现这一点。从技术上讲,您还可以重命名列,以使转换透明。但是,如果您不需要走那么远,我只需要添加计算列,并切换您的各种过程等等,以实现这一目标。

添加计算列(可能基于现有的6个字符列)如何解决问题?该列中存在存储当前用户值的代码;现在存储在“COMPAN”中的唯一内容(如果忽略错误)。你建议用什么表达式来“修复”这个问题?你说你想有效地返回
正确的(当前用户,8,6)
(现在我看到它,它甚至不是有效的SQL)。如果您只想在将字符串插入表之前修剪掉字符串的前导8个字符,请尝试
填充(当前用户,1,8',)
添加计算列(可能基于现有的6个字符列)如何解决问题?该列中存在存储当前用户值的代码;现在存储在“COMPAN”中的唯一内容(如果忽略错误)。你建议用什么表达式来“修复”这个问题?你说你想有效地返回
正确的(当前用户,8,6)
(现在我看到它,它甚至不是有效的SQL)。如果您只想在将字符串插入表之前删掉它的前导8个字符,请尝试
stuff(当前用户,1,8',)