Sql server 在数据库级别修剪来自当前用户SQL server的响应
我有一个旧的应用程序,它使用了几个存储过程,试图在几个不同的表上的“Last_Updated_By”6字符字段中保存当前_用户值,并且该应用程序只能支持6字符的用户名 由于Active Directory的更改,用户现在是COMPANY\JORDAN,而不仅仅是JORDAN,因此存储过程尝试更新/插入“Last\u Updated\u By”值时会出现截断错误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)?否,您不能替换或重载当前用户 您需要执行以下操作之一:
是否有任何方法可以在数据库级别覆盖当前用户的值以使其正确(当前用户,8,6)?否,您不能替换或重载当前用户 您需要执行以下操作之一:
- 换桌子
- 更改代码
- 添加要更新的触发器
- 换桌子
- 更改代码
- 添加要更新的触发器
正确的(当前用户,8,6)
(现在我看到它,它甚至不是有效的SQL)。如果您只想在将字符串插入表之前修剪掉字符串的前导8个字符,请尝试填充(当前用户,1,8',)
添加计算列(可能基于现有的6个字符列)如何解决问题?该列中存在存储当前用户值的代码;现在存储在“COMPAN”中的唯一内容(如果忽略错误)。你建议用什么表达式来“修复”这个问题?你说你想有效地返回正确的(当前用户,8,6)
(现在我看到它,它甚至不是有效的SQL)。如果您只想在将字符串插入表之前删掉它的前导8个字符,请尝试stuff(当前用户,1,8',)