Sql 创建表上的对象名称无效
我有下面的代码,但我不能让它工作。我得到错误消息: 无效的对象名称“ad_hoc_raportointi.dbo.tuote_testi”。我试图创建一个新的表到DB1,并从DB2中查询数据,然后将其插入到DB1表中。数据库已经存在,但是应该在那里创建表 我试图写入我的测试数据库(ad_hoc_raportointi)并创建一个名为dbo.tuote_testi的表,但我一直遇到相同的错误,但我不知道为什么。如果你能帮助我,告诉我我做错了什么Sql 创建表上的对象名称无效,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有下面的代码,但我不能让它工作。我得到错误消息: 无效的对象名称“ad_hoc_raportointi.dbo.tuote_testi”。我试图创建一个新的表到DB1,并从DB2中查询数据,然后将其插入到DB1表中。数据库已经存在,但是应该在那里创建表 我试图写入我的测试数据库(ad_hoc_raportointi)并创建一个名为dbo.tuote_testi的表,但我一直遇到相同的错误,但我不知道为什么。如果你能帮助我,告诉我我做错了什么 USE [LemonDB0922] SET ANSI
USE [LemonDB0922]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Hae_tuote_kuva_tiedot3
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
if not exists (select * from [ad_hoc_raportointi].[dbo.tuote_testi])
create table [ad_hoc_raportointi].[dbo.tuote_testi] (
tuoteID int ,
tuoteKoodi int ,
tuotekuvaus varchar(200) ,
tuotetarkempikuvaus varchar(200) ,
tuotevarastossa SMALLINT ,
tuotehinta decimal(16,2) ,
tuoteverot SMALLINT ,
tuote_myyntitili int ,
tuote_guid varchar(200) ,
tuote_viim_paivitys datetime ,
tuote_kuva_tuote_relaatio int ,
tuote_kuva_hexa varbinary(MAX) ,
tuote_kuva_koko_nimi varchar(50) ,
tuote_kuva_paate varchar(10) ,
PRIMARY KEY (tuoteID)
)
-- Insert statements for procedure here
INSERT INTO [ad_hoc_raportointi].[dbo.tuote_testi](tuoteID,tuoteKoodi,tuotekuvaus, tuotetarkempikuvaus, tuotevarastossa, tuotehinta, tuoteverot, tuote_myyntitili, tuote_guid, tuote_viim_paivitys , tuote_kuva_tuote_relaatio , tuote_kuva_hexa , tuote_kuva_koko_nimi, tuote_kuva_paate)
SELECT dbo.products.product_id, dbo.products.product_code, dbo.products.product_description, dbo.products.product_description2, dbo.products.product_nonstock_bit, dbo.products.product_price, dbo.products.product_include_tax_bit, dbo.products.sales_account, dbo.products.product_guid, dbo.products.product_last_upd_date, dbo.program_images.program_image_dataid , dbo.program_images.program_image_image , dbo.program_images.program_image_description, dbo.program_images.program_image_prefix
FROM [LemonDB0922].[dbo.products]
LEFT JOIN [LemonDB0922].dbo.program_images
ON dbo.program_images.program_image_dataid = dbo.products.product_id
END
GO
所有查询都应该使用
[ad\u hoc\u raportoini].[dbo].[tuote\u testi]
而不是[ad\u hoc\u raportoini].[dbo.tuote\u testi]
。
您将一个表称为
[ad\u hoc\u raportoini].[dbo.tuote\u testi]
,但我猜在您的数据库中有ad\u hoc\u raportoini.dbo.[tuote\u testi]
。使用[]
可以为表指定一个名称[dbo.tuote\u testi]
,它与[dbo].[tuote\u testi]
不同,谢谢。你帮了大忙!