ql 서버 일괄 가져오기 Excel 테이블 데이터
                                            
 3559 단어  sqlserver
                    
USE [testdemo]
GO
/****** Object:  StoredProcedure [dbo].[Sp_InputExceltoSQL]    Script Date: 12/19/2016 09:53:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[Sp_InputExceltoSQL]
@dir NVARCHAR(100),--EXCEL      :
@tabname NVARCHAR(50) --            
AS
SET NOCOUNT ON
CREATE TABLE #t([filename] NVARCHAR(1000))
IF RIGHT(@dir,1)<>'\' 
    SET @dir=@dir+'\'
DECLARE @cmd NVARCHAR(1000)    
SET @cmd = N'dir "' + @dir + '*.xls*" /B'
INSERT #t EXEC master..xp_cmdshell @cmd
DELETE #t WHERE [filename] IS NULL
-- SQL    :
DECLARE @S nvarchar(MAX)
IF OBJECT_ID(@tabname) IS NULL
BEGIN
    SELECT TOP 1 @S='SELECT TOP 0 * INTO '+ @tabname+' FROM OPENROWSET(
            ''MICROSOFT.ACE.OLEDB.12.0'', ''EXCEL 12.0;HDR=YES;IMEX=2;DATABASE='+@DIR+[filename]+'''
            ,''SELECT * FROM [Sheet1$]'')'
    FROM #t  
    EXEC(@S)
END
--          
SET @S = ''
SELECT @S = @S + 'INSERT '+@tabname+' SELECT * FROM OPENROWSET(
    ''MICROSOFT.ACE.OLEDB.12.0'', ''EXCEL 12.0;HDR=YES;IMEX=2;DATABASE='+@DIR+FILENAME+'''
    ,''SELECT * FROM [Sheet1$]'')'  
FROM #t      
EXEC(@S)
SET NOCOUNT OFF  호출 방식(경로, 데이터베이스 테이블 이름)execdbo.Sp_InputExceltoSQL ‘E:\shiseidodatabase’,’OrderDetail’
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
우분투에 SQL 서버 설치Microsoft SQL Server는 오늘날 업계에서 가장 눈에 띄는 데이터베이스 중 하나입니다. 이번 포스팅에서는 우분투에 설치하는 방법을 알려드리겠습니다. sudo 권한이 있는 계정 1단계: 터미널 열기 단축키...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.