2013-09-22 61 views
42

Tôi đang làm việc để sửa đổi thủ tục lưu trữ SQL Server hiện có. Tôi đã thêm hai cột mới vào bảng và sửa đổi thủ tục được lưu trữ cũng như để chọn hai cột này. Mặc dù các cột có sẵn trong bảng SQL Server Keeps đưa ra lỗi này:Máy chủ SQL: Tên cột không hợp lệ

Invalid column name 'INCL_GSTAMOUNT'

enter image description here

bất cứ ai có thể vui lòng cho tôi biết có chuyện gì đây?

+1

bạn đã thực hiện nó - bạn có gặp lỗi đó không? intellisense có thể mất một thời gian để cập nhật? – gordatron

+1

bạn đã biên dịch lại thủ tục lưu sẵn chưa? – Lokesh

Trả lời

117

Bất cứ khi nào điều này xảy ra với tôi, tôi nhấn Ctrl + phím Shift + R mà làm mới intellisense, đóng cửa sổ truy vấn (lưu nếu cần), sau đó bắt đầu một phiên mới thường hoạt động khá tốt.

+4

Tôi đã tìm thấy phím tắt đủ (cảm ơn tuyệt vời!) - không cần phải đóng cửa sổ truy vấn – sparrow

+0

Có thể mọi thứ đã thay đổi kể từ khi tôi đăng nội dung này, rất hữu ích. – Ric

2

Intellisense không phải là tự động làm mới và bạn không nên hoàn toàn dựa vào đó

0

với bảng refresh hoặc gần gũi và cởi mở máy chủ sql công việc này

32

cũng có thể xảy ra nếu đặt chuỗi trong dấu ngoặc kép thay vì duy nhất.

+0

Đó là lý do trong trường hợp của tôi - bạn có thể giải thích lý do cho số này – ImranNaqvi

+0

Ugh ... THANK YOU! Rất câm. Đã xảy ra sự cố này khi truy vấn phạm vi ngày có ngày trong dấu ngoặc kép. –

2

Lỗi này có thể xảy ra trong các câu lệnh SQL đóng gói, ví dụ:

DECLARE @tableName nvarchar(20) SET @tableName = 'GROC'

DECLARE @updtStmt nvarchar(4000)

SET @updtStmt = 'Update tbProductMaster_' [email protected] +' SET department_str = ' + @tableName exec sp_executesql @updtStmt

Chỉ để khám phá ra rằng có những thiếu trích dẫn để đóng gói các tham số "@tableName" thêm như sau:

SET @updtStmt = 'Update tbProductMaster_' [email protected] +' SET department_str = ''' + @tableName + ''' '

Cảm ơn

1

tôi đã nhận được báo lỗi tương tự khi tạo một cái nhìn .

Hãy tưởng tượng một truy vấn chọn, được thực hiện mà không cần phát hành:

select id 
from products 

Cố gắng để tạo ra một cái nhìn từ cùng một truy vấn sẽ tạo ra một lỗi:

create view app.foobar as 
select id 
from products 

Msg 207, Level 16, State 1, Procedure foobar, Line 2
Invalid column name 'id'.

Đối với tôi nó bật ra là một vấn đề phạm vi; lưu ý rằng khung nhìn đang được tạo ra trong một lược đồ khác. Chỉ định lược đồ của bảng products đã giải quyết được vấn đề. Tức là .. sử dụng dbo.products thay vì chỉ products.

-1

Tôi vừa thử. Nếu bạn thực hiện câu lệnh để tạo bảng cục bộ, công cụ sẽ chấp nhận rằng tên cột này tồn tại. Chỉ cần đánh dấu câu lệnh tạo bảng trong cửa sổ trình soạn thảo của bạn và nhấp vào thực thi.

0

Tôi gặp sự cố tương tự.

Vấn đề là có trình kích hoạt trên bảng sẽ ghi các thay đổi vào bảng nhật ký kiểm tra. Các cột bị thiếu trong bảng nhật ký kiểm tra.

+1

Bạn phải xây dựng thêm chi tiết về giải pháp khắc phục sự cố về câu hỏi này là câu trả lời hợp lệ. Cảm ơn. – BogdanC

0

Quy trình sau đã giúp tôi giải quyết vấn đề này nhưng tôi không biết tại sao.

  1. Cut mã trong câu hỏi được đưa ra bởi dòng trong tin nhắn
  2. Lưu truy vấn (ví dụ nộp)
  3. Dán mã đến nơi nó đã được trước
  4. Một lần nữa lưu truy vấn

Ngay cả khi có vẻ như cùng một truy vấn đang thực hiện nó không ném lỗi này

Các vấn đề liên quan