MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SQl:从文本文件更新表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这就是我要做的事情:

我有一个文本文件,有3列:PID,X,Y.

现在我的数据库中有两个表:

>表1包含4列:UID,PID,Y
>表2包含多列,所需的列为UID,Y

需要用相应的X和Y值更新表2.

我想我们可以使用BULK INSERT更新表1,然后使用WHILE循环或其他东西.

我无法弄明白确切的事情.

解决方法

CREATE PROCEDURE [dbo].[BulkInsert]            
(            
@PID int,@x int,@y int,)            
AS            
BEGIN            
SET NOCOUNT ON;            

declare @query varchar(maX)            


create table #TEMP            
(            
[PID] [int] NOT NULL,[x] int nOT NULL,[y] int nOT NULL,)            


SET @query = 'BULK INSERT #TEMP FROM ''' + PathOfYourTextFile + ''' WITH ( FIELDTERMINATOR = '','',ROWTERMINATOR = ''\n'')'            
--print @query            
--return            
execute(@query)            


BEGIN TRAN;            

MERGE Tablename AS Target            
USING (SELECT * FROM #TEMp) AS source            
ON (Target.YourTablEID = source.YourTextFileFieldId)
-- In the above line we are checking if the particular row exists in the table(Table1)  then update the Table1 if not then insert the new row in Table-1.           

WHEN MATCHED THEN            
updatE SET             
TargeT.PID= source.PID,Target.x= source.x,Target.y= source.y           
WHEN NOT MATCHED BY TARGET THEN            

-- Insert statement@H_675_20@ 
 

您可以使用上述方法来解决您的问题.希望这可以帮助.

本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。
编程之家官方1群(满)
编程之家官方2群(满)
编程之家官方3群(满)
编程之家官方4群
编程之家官方5群(新)
  • 上一篇:sql-server – 在SqlServer中创建一下一篇:SQL Pivot可以进行以下查询吗?
  • @H_607_63@

    大佬总结

    以上是大佬教程为你收集整理的SQl:从文本文件更新表全部内容,希望文章能够帮你解决SQl:从文本文件更新表所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: