我有以下代码,但我无法让它工作。我收到错误消息: 无效的对象名称'ad_hoc_raportointi.dbo.tuote_testi'。我正在尝试为DB1创建一个新表,并从DB2创建查询数据并将其插入到DB1表中。数据库已经存在,但应该在那里创建表。
我正在尝试写入我的测试数据库(ad_hoc_raportointi)并创建一个名为dbo.tuote_testi的表,但我仍然遇到同样的错误,但我不知道为什么。如果你能帮我,告诉我我做错了什么。
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
答案 0 :(得分:2)
您应该对所有查询使用[ad_hoc_raportointi].[dbo].[tuote_testi]
而不是[ad_hoc_raportointi].[dbo.tuote_testi]
。
您将表格称为[ad_hoc_raportointi].[dbo.tuote_testi]
,但我猜您的数据库中有ad_hoc_raportointi.dbo.[tuote_testi]
。使用[]
,您可以将名称[dbo.tuote_testi]
表示为与[dbo].[tuote_testi]
不同。