大多数数据库系统基于4个最简单的数据操作操作,这些操作称为CRUD。该首字母缩写词代表创建、读取、更新和删除。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、雨城网站维护、网站推广。
在开发和管理数据库时,可以使用CRUD存储过程来执行所有与数据有关的任务。这种存储过程的好处是,一旦编写了一次,便可以根据需要重复使用多次,而无需每次都编写新代码。这是对临时SQL语句的重大改进,临时SQL语句应在每次使用它们时重新编写。
让我们详细了解每个CRUD存储过程。
仔细研究CRUD存储过程
在继续之前,我们要说一下CRUD存储过程的命名。将它们命名为每个过程都包含它们所应用的表的名称,并且以它们所执行的操作的名称结束,这通常是一种很好的做法。这样,为同一表编写的所有过程将被分组在一起,并且更容易搜索。
但是,它不是强制性的,您可以坚持自己喜欢的任何命名模式。
现在,让我们看一下第一种过程类型。
创建程序
这些将执行INSERT语句,创建一个新记录。此类过程应为表的每一列接受一个参数。
IF OBJECT_ID('Sales.usp_Currency_Insert') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Insert  END  GO CREATE PROC Sales.usp_Currency_Insert      @CurrencyCode NCHAR(3),     @Name dbo.Name,     @ModifiedDate datetime AS      SET NOCOUNT ON      SET XACT_ABORT ON  
BEGIN TRAN
 
INSERT INTO Sales.Currency (CurrencyCode, Name, ModifiedDate)
SELECT @CurrencyCode, @Name, @ModifiedDate
 
/*
-- Begin Return row code block
 
SELECT CurrencyCode, Name, ModifiedDate
FROM   Sales.Currency
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name AND ModifiedDate = @ModifiedDate
 
-- End Return row code block
 
*/
COMMIT
GO读取程序
READ过程根据输入参数中提供的主键检索表记录。
IF OBJECT_ID('Sales.usp_Currency_Select') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Select  END GO CREATE PROC Sales.usp_Currency_Select     @CurrencyCode NCHAR(3),     @Name dbo.Name AS     SET NOCOUNT ON      SET XACT_ABORT ON  
BEGIN TRAN
 
SELECT CurrencyCode, Name, ModifiedDate 
FROM   Sales.Currency
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name  
 
COMMIT
GO更新程序
这些过程使用WHERE子句中指定的记录的主键在表上执行UPDATE语句。就像CREATE过程一样,它为每个表列接受一个参数。
IF OBJECT_ID('Sales.usp_Currency_Update') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Update END  GO CREATE PROC Sales.usp_Currency_Update @CurrencyCode NCHAR(3), @Name dbo.Name, @ModifiedDate datetime AS      SET NOCOUNT ON      SET XACT_ABORT ON  
BEGIN TRAN
 
UPDATE Sales.Currency
SET    ModifiedDate = @ModifiedDate
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name
 
/*
-- Begin Return row code block
 
SELECT ModifiedDate
FROM   Sales.Currency
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name
 
-- End Return row code block
 
*/
COMMIT
GO删除程序
此过程将删除该语句的WHERE子句中提供的行。
IF OBJECT_ID('Sales.usp_Currency_Delete') IS NOT NULL BEGIN      DROP PROC Sales.usp_Currency_Delete END  GO CREATE PROC Sales.usp_Currency_Delete  @CurrencyCode NCHAR(3), @Name dbo.Name AS      SET NOCOUNT ON      SET XACT_ABORT ON  
BEGIN TRAN
 
DELETE
FROM   Sales.Currency
WHERE  CurrencyCode = @CurrencyCode AND Name = @Name
 
COMMIT
GO使用dbForge SQL Complete生成CRUD过程
在SSMS和Visual Studio中均可使用的dbForge SQL Complete插件,我们只需单击几下便可以生成CRUD过程,并具有多种选项,这些选项允许配置这些过程的生成方式。在本文中,我们将使用SSMS展示SQL Complete的功能。
要为一个表生成CRUD过程,右键单击该表,转到SQL Complete菜单,然后单击Script Table as CRUD:

完成此操作后,将打开一个新的SQL文件。在这里,您可以看到该表的所有CRUD操作。

更改CRUD生成设置
要配置dbForge SQL Complete如何生成CRUD,您首先需要转到窗口顶部的SQL Complete菜单,然后单击“选项”:

结果将在“选项”窗口中打开,转到“CRUD”菜单,然后单击“常规”:

在此选项卡中,您可以指定CRUD生成过程中包括哪些过程,并指定要使用的哪个列的顺序——按字母顺序还是按序号顺序。
您也可以通过在CRUD菜单中选择相应的选项来分别配置每个过程。首先,您可以手动更改生成的过程的名称:

接下来,每个过程都有唯一的选项。
对于SELECT,如果输入参数为null,则有一个Return all data复选框。
对于INSERT,可以指定是否在完成后返回插入的行。
类似的选项可用于UPDATE –它使您可以选择是否要返回更新的行。
没有其他用于DELETE的唯一选项。
最后,对于每个过程,都有“代码模板”部分。在本节中,您可以更改指定过程的代码的生成方式。在代码模板中,以$ name $格式提供了参数(例如$ schema $或$ columns $)。通过更改这些参数,可以修改所生成过程的代码。
结论
如您所见,使用CRUD命令实现和管理数据操作过程比使用临时SQL语句更为可取,并且可以借助dbForge SQL Complete插件轻松完成此操作。
当前文章:如何在SQLServer中生成和使用CRUD存储过程
标题路径:http://www.cqwzjz.cn/article/jdsddp.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 