Sql server 列名无效-列不存在

Sql server 列名无效-列不存在,sql-server,Sql Server,我在一个表中添加了一个新列,如下所示: ALTER TABLE [Invoice].[Invoice] ADD [DaysToPay] int GO ALTER TABLE [Invoice].[Invoice] ADD CONSTRAINT [DF_Invoice_DaysToPay] DEFAULT ((30)) FOR [DaysToPay] GO UPDATE [Invoice].[Invoice] SET [DaysToPay] = 30 GO ALTER TABLE [Invoic

我在一个表中添加了一个新列,如下所示:

ALTER TABLE [Invoice].[Invoice] ADD [DaysToPay] int
GO
ALTER TABLE [Invoice].[Invoice] ADD CONSTRAINT [DF_Invoice_DaysToPay]  DEFAULT ((30)) FOR [DaysToPay]
GO
UPDATE [Invoice].[Invoice] SET [DaysToPay] = 30
GO
ALTER TABLE [Invoice].[Invoice] ALTER COLUMN [DaysToPay] int NOT NULL
GO
如果我现在从[Invoice].[Invoice]中选择*,我会得到一个
无效的列名“DaysToPay”
错误。无论是通过SSM还是任何其他方式(通过代码)运行语句,我都会遇到此错误

当我选择特定列时,无论是否使用该列,都会发生相同的错误。e、 g.
从[Invoice].[Invoice]
中选择[InvoiceID]

我已关闭SSMS并重新启动SQL服务。还是一样的错误

该列是在获取错误的同一用户下添加的,该用户是架构的所有者

这两条语句都返回0行:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'DaysToPay'

SELECT *
FROM sys.columns 
WHERE Name = N'DaysToPay'
我试过Ctrl+Shift+R,但我不认为这是SSMS的事情,也没什么不同

数据库未被复制

我运行了一个
dbccopentran
are,但没有任何活动

此后,我删除了该列(在SSMS中手动使用设计器),但仍然收到相同的错误。该表在SSMS设计器中正确显示(与我手动删除它之前一样)

除了删除并重新创建表格之外,还有其他想法吗

编辑: 运行的脚本的其余部分如下所示(我删除了某些列,以免识别):


如果您使用数据库名称完全限定所有这些查询,会发生什么情况?您确定连接到了正确的数据库?当您运行
SELECT*FROM INFORMATION\u SCHEMA.COLUMNS,其中TABLE\u name='Invoice'
时会发生什么情况?检查架构和列名,是否有异常?@TabAlleman相同错误:(
SELECT*FROM[MyDB].[Invoice].[Invoice].[Invoice]
@Igor它显示在列表中(现在我已使用脚本将其添加回来,但仍然会出现错误)
ALTER PROCEDURE [Invoice].[Invoice_Save] (
    @InvoiceID int,
    @TypeID int,
    @InvoiceNumber int,
    @InvoiceDate datetime,
    @DatePaid datetime,
    @PaymentEnteredBy int,
    @AmountPaid float,
    @PaymentTypeID int,
    @HasVAT bit,
    @VATRate float,
    @TranslationPercentageCharge float,
    @IsVoid bit,
    @VoidDate datetime,
    @VoidBy int,
    @DateSent datetime,
    @SentBy int,
    @PurchaseOrderNumber varchar(100),
    @BillingContact varchar(255),
    @BillingAddress varchar(MAX),
    @BillingContactEmail nvarchar(255),
    @BillingContactTelNo varchar(50),
    @Notes varchar(MAX),
    @CompanyID int,
    @DaysToPay int,
    @DateCreated datetime,
    @CreatedBy int,
    @LastUpdated datetime,
    @LastUpdatedBy int
)

AS

    IF NOT EXISTS (SELECT * FROM [Invoice].[Invoice] WHERE [InvoiceID] = @InvoiceID)
    BEGIN
        INSERT INTO [Invoice].[Invoice] ([TypeID], [InvoiceNumber], [InvoiceDate], , [DatePaid], [PaymentEnteredBy], [AmountPaid], [PaymentTypeID], [HasVAT], [VATRate], [TranslationPercentageCharge], [IsVoid], [VoidDate], [VoidBy], [DateSent], [SentBy], [PurchaseOrderNumber], [BillingContact], [BillingAddress], [BillingContactEmail], [BillingContactTelNo], [Notes], [CompanyID], [DaysToPay], [DateCreated], [CreatedBy], [LastUpdated], [LastUpdatedBy])
        VALUES (@TypeID, @InvoiceNumber, @InvoiceDate, @DatePaid, @PaymentEnteredBy, @AmountPaid, @PaymentTypeID, @HasVAT, @VATRate, @TranslationPercentageCharge, @IsVoid, @VoidDate, @VoidBy, @DateSent, @SentBy, @PurchaseOrderNumber, @BillingContact, @BillingAddress, @BillingContactEmail, @BillingContactTelNo, @Notes, @CompanyID, @DaysToPay, @DateCreated, @CreatedBy, @LastUpdated, @LastUpdatedBy)

        SELECT MAX([InvoiceID]) AS MaxID FROM [Invoice].[Invoice]
    END
    ELSE
        UPDATE [Invoice].[Invoice]
        SET [TypeID] = @TypeID,
        [InvoiceNumber] = @InvoiceNumber,
        [InvoiceDate] = @InvoiceDate,
        [DatePaid] = @DatePaid,
        [PaymentEnteredBy] = @PaymentEnteredBy,
        [AmountPaid] = @AmountPaid,
        [PaymentTypeID] = @PaymentTypeID,
        [HasVAT] = @HasVAT,
        [VATRate] = @VATRate,
        [TranslationPercentageCharge] = @TranslationPercentageCharge,
        [IsVoid] = @IsVoid,
        [VoidDate] = @VoidDate,
        [VoidBy] = @VoidBy,
        [DateSent] = @DateSent,
        [SentBy] = @SentBy,
        [PurchaseOrderNumber] = @PurchaseOrderNumber,
        [BillingContact] = @BillingContact,
        [BillingAddress] = @BillingAddress,
        [BillingContactEmail] = @BillingContactEmail,
        [BillingContactTelNo] = @BillingContactTelNo,
        [Notes] = @Notes,
        [CompanyID] = @CompanyID,
        [DaysToPay] = @DaysToPay,
        [DateCreated] = @DateCreated,
        [CreatedBy] = @CreatedBy,
        [LastUpdated] = @LastUpdated,
        [LastUpdatedBy] = @LastUpdatedBy
        WHERE [InvoiceID] = @InvoiceID
GO