sql-server - 我正在执行程序并且不接受我的任何日期,当我试图给日期时间变量一个 GETDATE () 时,它告诉我错误接近 ')'

标签 sql-server stored-procedures

这是程序

ALTER PROCEDURE [dbo].[InsertCustomer]

    @firstName NVARCHAR(50),
    @lastName NVARCHAR(50),
    @address NVARCHAR(50),
    @state NVARCHAR(50),
    @creditLimit smallmoney,
    @email NVARCHAR(50),
    @customerSince smalldatetime

 AS
 BEGIN

 INSERT Customers(
        FirstName ,
         LastName ,
        _Address ,
        States , 
        CustomerSince ,
        CreditLimit ,
         Email )

 VALUES (@firstName ,
     @lastName ,
      @address ,
      @state ,
      @customerSince ,
      @creditLimit ,
      @email)

 END;

这就是执行---->

EXECUTE InsertCustomer
'Liza',
'Tober',
'46 White Second Blvd.',
'Louisiana',
670,
'Liza@visualStudio.com',
GETDATE() 

最佳答案

你能试试这样调用过程吗:

DECLARE @dt DATETIME = GETDATE()

EXECUTE InsertCustomer
'Liza',
'Tober',
'46 White Second Blvd.',
'Louisiana',
670,
'Liza@visualStudio.com',
@dt

在你的评论中你提到了一个错误,你试过这样吗?如果是这样,错误是什么?

要点是,您不能在过程调用中使用函数(如 GETDATE())。因此,您必须在变量中捕获函数的结果才能使用该值。

关于sql-server - 我正在执行程序并且不接受我的任何日期,当我试图给日期时间变量一个 GETDATE () 时,它告诉我错误接近 ')',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36792592/

相关文章:

sql - SQL Server 中的分钟数

php - 使用 PDO 调用带有 Out 参数的存储过程

mysql - 将重音符号传递给 mysql 存储过程时出现问题

java - 在eclipse中连接到SQLserver

sql - 将逗号分隔的值放入单独或不同的列中

sql-server - 如何使用 Lightswitch 项目将新表和/或字段添加到 "external"Azure SQL 数据库?

mysql - 如何使用 MySql 和 Mono 从存储过程中填充数据集

sql - 更新表 1 中的数据,其中表 2 中有重复数据

c# - 通过查询调用存储过程并在没有输出参数的情况下在C#中获取返回值

mysql - sql 存储过程 "Default Parameter Values"