当前位置: 首页 > 面试题库 >

创建一个存储过程以将新数据插入表中

咸亦
2023-03-14
问题内容

我想创建一个存储过程,以便在表“ dbo.Terms”中插入新行

CREATE PROCEDURE dbo.terms 
       @Term_en                      NVARCHAR(50)  = NULL   , 
       @Createdate                   DATETIME      = NULL   , 
       @Writer                       NVARCHAR(50)  = NULL   , 
       @Term_Subdomain               NVARCHAR(50)  = NULL  
AS 
BEGIN 
     SET NOCOUNT ON

     INSERT INTO dbo.terms
          (                    
            Term_en                     ,
            Createdate                  ,
            Writer                      ,
            Term_Subdomain                 
          ) 
     VALUES 
          ( 
            @Term_en    = 'Cat'               ,
            @Createdate   = '2013-12-12'      ,
            @Writer         = 'Fadi'          ,
            @Term_Subdomain = 'English'                    
          )

END

GO

但是在这里显示错误(@Term_en =’Cat’)不正确的语法有帮助吗?


问题答案:

我假设您要在表中插入cat等值;为此,您需要使用过程变量中的值。我不会将您的过程命名为与您的表相同的名称,否则会引起各种混乱;您可以找到一些用于命名标准的好资源(或来自Adventureworks的婴儿床)

CREATE PROCEDURE dbo.terms 
       @Term_en                      NVARCHAR(50)  = NULL   , 
       @Createdate                   DATETIME      = NULL   , 
       @Writer                       NVARCHAR(50)  = NULL   , 
       @Term_Subdomain               NVARCHAR(50)  = NULL  
AS 
BEGIN 
     SET NOCOUNT ON

     INSERT INTO dbo.terms
          (                    
            Term_en                     ,
            Createdate                  ,
            Writer                      ,
            Term_Subdomain                 
          ) 
     VALUES 
          ( 
            @Term_en,
            @Createdate,
            @Writer,
            @Term_Subdomain
          )

END

GO

并进行测试

exec dbo.terms 
    @Term_en    = 'Cat'               ,
    @Createdate   = '2013-12-12'      ,
    @Writer         = 'Fadi'          ,
    @Term_Subdomain = 'English'


 类似资料:
  • 分隔符$$CREATE PROCEDURE

  • 问题内容: 我有一个主表和几个较小的表。 表有 一张小桌子有 另外(具有与表中C1的值匹配的值的变量。 列名与两个表都匹配。我想创建一个存储过程从插入值表(,,和更小的表)( )。 我的努力: 请帮忙 谢谢 问题答案: 您需要使用语法-不涉及任何关键字:

  • 问题内容: 这个问题已经在这里有了答案 : 如何在存储过程中一次全部插入两个表?[重复] (1个答案) 7年前关闭。 我有2张桌子,和: : : 我想编写一个存储过程,该过程将插入两个表中 更准确地说,是插入with ,它将返回用作的外键。 我进行了很多搜索,但未找到任何解决方案。 问题答案: 如下图所示。在这种情况下,您可以用来获取最后一个自动生成的ID以及此存储过程的作用域:

  • 需要帮助编写存储过程,以便将数据从一个表复制到多个表。下面是场景示例: > table1有10列20行数据。

  • 问题内容: 我有两个大表,并且想要将所有列名(而不是视图)组合到一个新表中。 我 没有权限 右键单击每个表并选择CREATE TO SCRIPT,所以我想知道是否有一种方法可以在不指定列数据类型的情况下将两个表插入到新表中? 问题答案:

  • 问题内容: 我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]? Select所有数据都可以BusinessLine正常tmpBusLine工作。 我正在尝试相同的方法,但是使用stored procedure返回数据的a并不完全相同。 输出信息: 消息156,级别15,状态1