开发者社区> 问答> 正文

SQL Server:带有OUTPUT子句的INSERT INTO TEMP表将多余的字符添加到值中

带有OUTPUT子句的INSERT INTO TEMP表添加了不在源中的额外字符。例如:从具有LName =' John '的现有PhysicalTable_1表记录插入后,目标PhysicalTable_1表以及#Temp表具有' ?John '或' I?John ',这对于Lname有时发生,对于FName或Email有时发生,以及其他领域。

PhysicalTable_1中数据的示例-FName ='Raul'插入后的目标记录看起来像='?Raul'

我正在使用这个:

CREATE TABLE #Temp 
   (
   ID INT NOT NULL,
   LName VARCHAR(75) NULL,
   FName VARCHAR(75) NULL,
   Email VARCHAR(125) NULL
   )

   CREATE TABLE PhysicalTable_2
   (
   ID INT NOT NULL,
   LName VARCHAR(75) NULL,
   FName VARCHAR(75) NULL,
   Email VARCHAR(125) NUL
   )

CREATE TABLE PhysicalTable_1
   (
   ID INT NOT NULL,
   LName NVARCHAR(500) NULL,
   FName NVARCHAR(500) NULL,
   Email NVARCHAR(500) NULL
   )

   INSERT INTO PhysicalTable_2
   (
     LName, FName, Email
   )
   OUTPUT INSERTED.LName, INSERTED.FName, INSERTED.Email
   INTO #Temp

   SELECT LName, FName, Email
   FROM PhysicalTable_1

我还尝试将#Temp表的所有字符串字段数据类型更改为NVARCHAR。

展开
收起
心有灵_夕 2019-12-06 23:09:08 750 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
AnalyticDB基础版:云原生My SQL 敏捷数仓 立即下载
第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载
时序数据库TSDB的SQL与流计算 立即下载