簡體   English   中英

ORA-00911:在數據源上使用插入命令時

[英]ORA-00911: when using Insert command on datasource

試圖在asp.net中設置一個插入語句。

我的雙行insertCommand如下:

InsertCommand="INSERT INTO DVD(DVD_ID, DVD_TITLE, RENTAL_COST, RATING, COVER_IMAGE) VALUES (DVD_SEQ.NEXTVAL, :DVD_TITLE, :RENTAL_COST, :RATING, :COVER_IMAGE);
        INSERT INTO DVD_GENRE(DVD_ID, GENRE_ID) VALUES (DVD_SEQ.CURRVAL, :GENRE_ID)" 

插入參數的代碼為:

<InsertParameters>
    <asp:ControlParameter ControlID="titleBox" DefaultValue="TITLEDEFAULT" 
        Name="DVD_TITLE" PropertyName="Text" Type="String" />
    <asp:ControlParameter ControlID="rentalBox" DefaultValue="99" 
        Name="RENTAL_COST" PropertyName="Text" Type="String" />
    <asp:ControlParameter ControlID="ratingList" DefaultValue="25" Name="RATING" 
        PropertyName="SelectedValue" Type="Int32" />
    <asp:Parameter Name="COVER_IMAGE" Type="String" DefaultValue="0.jpg" />
    <asp:ControlParameter ControlID="genreList" Name="GENRE_ID" 
        PropertyName="SelectedValue" />
</InsertParameters>

我插入的OracleDB表(DVD)是:

create table dvd_genre
(
dvd_id integer not null,
genre_id integer not null,
primary key (dvd_id, genre_id),
foreign key(dvd_id) references DVD(dvd_id),
foreign key(genre_id) references GENRE(genre_id)
);

我唯一想到的是“;” 字符以分解兩個插入語句。 是的,我知道我可能應該創建一個觸發器,但是我已經讀過它也可以工作。 如果我刪除“;” 字符我收到有關查詢未正確結束的錯誤。 任何幫助將非常感激!!

1)“ ORA-00911”表示“無效字符”

2)是的,“;” 是一個很好的候選人。 問:可以在一個ASP命令中執行兩個SQL插入嗎? 我不知道 ;)

3)建議:將其分解為一條 SQL語句,然后看問題是否消失。

4)如果是這樣,您的選擇包括:

a)在與您的ASP代碼相同的位置發出兩個SQL語句(這是我要做的,但是我不知道它是否在您的程序中是一個選項)

b)使用觸發器(絕對不是我要做的)

c)創建一個PL / SQL存儲過程並從您的ASP中調用它,而不是從原始SQL中調用它(可以說是所有方法中的最佳選擇)

恕我直言..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM