proceduredemo12.sql

来自「T-SQL示例大全」· SQL 代码 · 共 38 行

SQL
38
字号
/* 文件名称: ProcedureDemo12.sql */
USE 北风贸易
GO

if exists (select * from dbo.sysobjects where id = object_id(N'dbo.RemoteJetQuery') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure dbo.RemoteJetQuery
GO

CREATE PROCEDURE dbo.RemoteJetQuery
@TableOrQueryString int = 1,
@Provider_Name nvarchar(30)= N'Microsoft.Jet.OLEDB.4.0',
@DataSource nvarchar(40)= N'C:\T-SQL\Database\北风贸易公司.mdb',
@User_Id nvarchar(20)= N'Admin',
@Password nvarchar(20)= N'',
@Object nvarchar(500)= N'客户'
AS
DECLARE @SQLString nvarchar(610)

IF @TableOrQueryString = 1 -- 如果 @Object 是数据表或查询对象

     -- 建立分布式查询的 SQL 字符串
     SET @SQLString = N'SELECT *  FROM OPENROWSET('+''''+
                                   @Provider_Name+''''+','+''''+@DataSource+''''+';'+''''+
                                   @User_Id+''''+';'+''''+@Password+''''+','+
                                   @Object+')'

IF @TableOrQueryString = 2 -- 如果 @Object 是 SELECT 查询命令语句

     -- 建立分布式查询的 SQL 字符串
     SET @SQLString = N'SELECT *  FROM OPENROWSET('+''''+
                                   @Provider_Name+''''+','+''''+@DataSource+''''+';'+''''+
                                   @User_Id+''''+';'+''''+@Password+''''+','+''''+
                                   @Object+''''+')'

-- 执行 SQL 字符串
EXEC sp_executesql @SQLString
GO

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?