创建表上的对象名称无效

时间:2014-05-23 05:46:41

标签: sql sql-server tsql

我有以下代码,但我无法让它工作。我收到错误消息: 无效的对象名称'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

1 个答案:

答案 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]不同。