当前位置:网站首页 > SQL数据库编程 > 正文

sqlldr 用法(sqlldr怎么执行)



适用于SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中执行存储过程。

有不同方法执行存储过程。 第一种方法和最常见的方法供应用程序或用户调用过程。 另一种方法是将存储过程设置为在启动 SQL Server 实例时自动运行。

当应用程序或用户调用过程时,调用中显式声明了 Transact-SQL EXECUTE 或 EXEC 关键字。 如果过程是 Transact-SQL 批处理中的第一条语句,那么不使用关键字 EXEC 也可调用并执行此过程。

与系统过程名称匹配时使用调用数据库排序规则。 因此,在过程调用中始终使用系统过程名称的正确大小写形式。 例如,如果在具有区分大小写的排序规则的数据库上下文中执行,以下代码失败:

 

若要显示确切的系统过程名称,请查询 sys.system_objects 和 sys.system_parameters 目录视图。

如果用户定义的过程与系统过程同名,则可能不会执行用户定义的过程。

使用以下建议来执行存储过程。

系统过程以前缀 开头。 因为从逻辑意义上讲,这些系统过程出现在所有用户定义的数据库和系统定义的数据库中,所以可以从任何数据库执行这些过程,而不必完全限定过程名称。 但是,建议使用 架构名称对所有系统过程名称进行架构限定,以防止名称冲突。 以下示例说明调用系统过程的推荐方法。

 

当执行用户定义的过程时,最好使用架构名称限定过程名称。 这种做法使性能得到小幅提升,因为 数据库引擎 不必搜索多个架构。 如果某个数据库在多个架构中具有同名过程,则使用架构名称还可以防止执行错误的过程。

以下示例演示执行用户定义过程的推荐方法。 此过程接受两个输入参数。 有关指定输入参数和输出参数的信息,请参阅在存储过程中指定参数。

 

或:

 

如果指定了非限定的用户定义过程,则 数据库引擎 按以下顺序搜索此过程:

  1. 架构。
  2. 调用方的默认架构(如果它在批处理或动态 SQL 中执行此过程)。 如果非限定的过程名称出现在另一个过程定义的主体中,则接着搜索包含后一过程的架构。
  3. 当前数据库中的 架构。

有关安全信息,请参阅 EXECUTE AS (Transact-SQL) 和 EXECUTE AS 子句 (Transact-SQL)。

有关权限的信息,请参阅执行 (Transact-SQL)中的权限。

可以在 SSMS 查询窗口中使用 SQL Server Management Studio (SSMS) 用户界面或 Transact-SQL 来执行存储过程。 始终使用最新版本的 SSMS。

  1. 在“对象资源管理器”中,连接到 SQL Server 或 Azure SQL 数据库的实例,展开该实例,然后展开“数据库”
  2. 展开所需的数据库,然后依次展开 “可编程性”“存储过程”
  3. 右键单击想要运行的存储过程,然后选择“执行存储过程”
  4. 在“执行过程”对话框中,“参数”表示每个参数的名称、“数据类型”表示其数据类型,“输出参数”表示其是否为输出参数。

    对于每个参数:

    • 在“值”下,键入要用于参数的值。
    • 在“传递空值”下,选择是否将 NULL 作为参数值传递。
  5. 选择“确定”执行存储过程。 如果存储过程不具有任何参数,只需选择“确定”

    存储过程将运行,结果将显示在“结果”窗格中。

    例如,要运行创建存储过程一文中的 存储过程,请输入 Cannon 作为 @LastName 参数,输入 Chris 作为 @FirstName 参数,然后选择“确定”。 该过程将返回 ChrisCannonOutdoor Sporting Goods

  1. 在 SSMS 中,连接到 SQL Server 或 Azure SQL 数据库的实例。
  2. 从工具栏中选择“新建询问”
  3. 在查询窗口中输入具有以下语法的 EXECUTE 语句,并提供所有预期参数的值:
     

    例如,以下 Transact-SQL 语句执行 存储过程,将 作为 参数值,将 作为 参数值:

     
  4. 在工具栏中选择“执行”。 存储过程将运行。

可通过多种方式在存储过程 EXECUTE 语句中提供参数和值。 以下示例显示了 EXECUTE 语句的几个不同选项。

  • 如果按照存储过程中定义的相同顺序提供参数值,则无需说明参数名称。 例如:
     
  • 如果在 模式中提供参数名称,则无需按照定义的相同顺序指定参数名称和值。 例如,以下任一语句均有效:
     

    或:

     
  • 如果将 形式用于任何参数,则必须将其用于该语句中的所有后续参数。 例如,您无法使用 。

适用范围:SQL Server

在 SQL Server 中, 服务器角色的成员可以使用 sp_procoption 来设置或清除在启动时自动执行的过程。 启动过程必须位于 数据库中,并且不能包含输入或输出参数。 有关详细信息,请参阅 sp_procoption (Transact-SQL)。

在每次启动 SQL Server 时将执行标记为自动执行的过程,并在启动过程期间中恢复 数据库。 将这些过程设置为自动执行对执行数据库维护操作或使这些过程作为后台进程连续运行很有用。

自动执行的另一个用途是使该过程执行 中的系统或维护任务,如创建一个全局临时表。 自动执行可确保在 SQL Server 启动过程中重新创建 时,始终存在这样一个临时表。

自动执行的过程使用与固定服务器角色 的成员相同的权限进行操作。 该过程生成的所有错误消息都将写入 SQL Server 错误日志。

虽然对启动过程的数目没有限制,但在执行时每个启动过程将占用一个工作线程。 如果需要在启动时执行多个过程,但不需要并行执行,则可以指定一个过程作为启动过程,让该过程调用其他过程。 此方法只占用一个工作线程。

只有系统管理员 () 可以将过程标记为自动执行。

  1. 在 SSMS 中,连接到数据库引擎。
  2. 在标准工具栏中,选择“新建查询”。
  3. 输入以下 sp_procoption 命令,将存储过程设置为在 SQL Server 启动时自动执行。
     
  4. 在工具栏中,选择“执行”。

A 可以使用 sp_procoption 来停止在 SQL Server 启动时自动执行的过程。

  1. 在 SSMS 中,连接到数据库引擎。
  2. 在标准工具栏中,选择“新建查询”。
  3. 将以下命令输入到查询窗口中。
     
  4. 在工具栏中,选择“执行”。
  • 存储过程(数据库引擎)
  • EXECUTE (Transact-SQL)
  • 创建存储过程
  • CREATE PROCEDURE (Transact-SQL)
  • 指定存储过程中的参数
  • sp_procoption (Transact-SQL)
  • 配置 scan for startup procs(服务器配置选项)
到此这篇sqlldr 用法(sqlldr怎么执行)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • oracal和mysql的区别(mysql与orcale区别)2025-04-14 19:36:09
  • pymysql占位符用法(pymysql 占位符)2025-04-14 19:36:09
  • sql文件转换成csv(sql文件转json)2025-04-14 19:36:09
  • mysql查询锁表日志(mysql查询锁表记录)2025-04-14 19:36:09
  • pymysql怎么安装(安装pymysql模块)2025-04-14 19:36:09
  • pymysql 使用(pymssql pyodbc)2025-04-14 19:36:09
  • sql文件是什么(.sql文件有什么用)2025-04-14 19:36:09
  • 增删改查sql语句例子(增删改查sql语句内容)2025-04-14 19:36:09
  • sql循环语句的作用是什么(sql的循环语句怎么用)2025-04-14 19:36:09
  • goldendb数据库锁表多久自动解锁(goldendb数据库 mysql)2025-04-14 19:36:09
  • 全屏图片