Sql server 创建过程赢得';我认不出分贝

Sql server 创建过程赢得';我认不出分贝,sql-server,database,stored-procedures,Sql Server,Database,Stored Procedures,我试图创建并执行一个创建一些表的过程。它无法识别我的数据库 USE [db1] go create procedure version_1 as update db1 set ver=1 where ver=0; create table Staff_Titles( title nvarchar(100) not null, title_description nvarchar(200) null, [..] go

我试图创建并执行一个创建一些表的过程。它无法识别我的数据库

USE [db1]
go
create procedure version_1 as
    update db1 
        set ver=1
        where ver=0;
    create table Staff_Titles(
        title nvarchar(100) not null,
        title_description nvarchar(200) null,
[..]
go
即使更新db1中的db1带有下划线,它也会编译。ver=1和ver=0也是如此。在我尝试执行它之后,它说

无效的对象名

在再次使用[DB1]时,即使它在存储过程中

我试图刷新数据库,我试图寻找编辑->智能感知,但我找不到它,我尝试了Ctrl+shift+R,没有任何效果。
智能感知告诉您在db1数据库中找不到名为db1的表。确保该表存在,或者如果它位于不同的架构中,请确保包含该架构,如下所示:

update db1.schmaname.db1 
    set ver=1
    where ver=0;
insert into Versions
values (1)
如果您试图存储版本数据,则必须添加一个表和一个字段来存储此信息。不能更新数据库上的字段,因为数据库级别没有直接的字段。您可以创建一个名为“Versions”的表,其中包含一个名为“ver”的字段

然后,当您运行该过程时,它可以插入一条记录,指示表已使用该版本更新。大概是这样的:

update db1.schmaname.db1 
    set ver=1
    where ver=0;
insert into Versions
values (1)
如果您需要查询最新版本,可以使用:

select max(Ver) Ver from Versions

如果“刚刚”创建了该数据库,您可能需要尝试清除intellisense缓存。使用按键
Ctrl-Shift-R
Ctrl-R

您是否已经有名为
db1
的数据库?如果您确实有一个名为
db1
的数据库,那么其中是否也有一个名为
db1
的表?是的。我的过程存储在db1中。如何使用完整的过程,这应该可以按原样工作,除非在过程中创建了此表后,您正在执行一些不寻常的操作。在您的过程的第4行中写入了什么?如果没有db1或vtrak表,您将如何处理该更新?但是。。。我没有db1表。我有一个db1数据库。我的过程正在创建表。您只能更新表,不能更新数据库。你想更新什么?好的,我明白。我正在尝试使用proceduresOk在我的VTrack数据库中创建表,这是为我做的。谢谢,我提到我已经尝试刷新Intellisense,但它没有任何作用。我在编辑中甚至没有这个选项。再试一次,什么都没有我只是在一个DB上测试了它,而不是在表上,对我来说也是一样的-Ctrl-Shift-R…下面的红色曲线消失了。噢,哈哈,没关系,我看到这是表和数据库声明之间的混淆。