Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server fordert den Benutzer zur Eingabe auf und übergibt ihn an die Variable

Eine gespeicherte Prozedur erstellen?

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      
-- Create date: 
-- Description: 
-- =============================================
CREATE PROCEDURE [dbo].[ImportData]
    @date   varchar(15)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    DECLARE @query AS varchar(MAX)
    SET @query = 'CREATE DATABASE aug29
                  USE aug29
                  BULK INSERT dbo.Table FROM ''\\Drive\Documents\''' + @date + '''-xxx.txt''
                  WITH (FIRSTROW = 2, FIELDTERMINATOR = ''\t'', ROWTERMINATOR = ''\n'')'
   EXEC(@query)
END

Öffnen Sie dann auf SSMS Ihre Datenbank> Programmierbarkeit> Gespeicherte Prozeduren> Klicken Sie mit der rechten Maustaste auf die neu erstellte gespeicherte Prozedur (ImportData oder wie auch immer Sie sie nennen)> Gespeicherte Prozedur ausführen.

Benutzer können dann den Wert für den @date-Parameter eingeben.