Allora .....
ho prima provato così:
<%
'///////////////////////////////////////////////////////////////////////////////////
'connection string
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=msdaora; Data Source=DataBase; User Id=system ; Password=morpheus ;"
create or replace
TRIGGER TriggerGIACENZE
AFTER INSERT
ON TB_TRANS_ARTICLES
FOR EACH ROW
DECLARE
ART TB_POS_GIACENZE%ROWTYPE;
BEGIN
SELECT * INTO ART
FROM TB_POS_GIACENZE
WHERE ARTICLE_ID = :NEW.ARTICLE_ID AND CASHREG_ID = :NEW.POS_ID;
IF :NEW.DELETE_OPERATOR_ID IS NULL THEN
UPDATE TB_POS_GIACENZE
SET QTA = QTA + :NEW.QTY_WEIGHT,
PRICE = PRICE + :NEW.PRICE
WHERE ARTICLE_ID = :NEW.ARTICLE_ID AND CASHREG_ID = :NEW.POS_ID;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
IF :NEW.DELETE_OPERATOR_ID IS NULL THEN
INSERT INTO TB_POS_GIACENZE ( ARTICLE_ID, CASHREG_ID, QTA, PRICE )
VALUES ( :NEW.ARTICLE_ID, :NEW.POS_ID, :NEW.QTY_WEIGHT, :NEW.PRICE );
END IF;
END;
Conn.execute(Sql)
%>
e mi viene (giustamente) fuori questo errore:
Microsoft VBScript compilation error '800a0409'
Unterminated string constant
CreateTrigger2.asp, line 13
Sql = " create or replace
------------------------------^
ho provato in quest'altro modo:
<%
'///////////////////////////////////////////////////////////////////////////////////
'connection string
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=msdaora; Data Source=DataBase; User Id=system ; Password=morpheus ;"
Sql = " create or replace " &_
"TRIGGER TriggerGIACENZE " &_
"AFTER INSERT " &_
" ON TB_TRANS_ARTICLES " &_
" FOR EACH ROW " &_
"DECLARE " &_
" ART TB_POS_GIACENZE%ROWTYPE; " &_
"BEGIN " &_
" SELECT * INTO ART " &_
" FROM TB_POS_GIACENZE " &_
" WHERE ARTICLE_ID = :NEW.ARTICLE_ID AND CASHREG_ID = :NEW.POS_ID; " &_
" IF :NEW.DELETE_OPERATOR_ID IS NULL THEN " &_
" UPDATE TB_POS_GIACENZE " &_
" SET QTA = QTA + :NEW.QTY_WEIGHT, " &_
" PRICE = PRICE + :NEW.PRICE " &_
" WHERE ARTICLE_ID = :NEW.ARTICLE_ID AND CASHREG_ID = :NEW.POS_ID; " &_
" END IF; " &_
"EXCEPTION " &_
" WHEN NO_DATA_FOUND THEN " &_
" IF :NEW.DELETE_OPERATOR_ID IS NULL THEN " &_
" INSERT INTO TB_POS_GIACENZE ( ARTICLE_ID, CASHREG_ID, QTA, PRICE ) " &_
" VALUES ( :NEW.ARTICLE_ID, :NEW.POS_ID, :NEW.QTY_WEIGHT, :NEW.PRICE ); " &_
" END IF; " &_
"END;"
Conn.execute(Sql)
%>
e mi da questo errore:
Microsoft OLE DB Provider for Oracle error '80040e37'
ORA-00942: table or view does not exist
CreateTrigger.asp, line 37
ma le tabelle esistono !!
l'unica stringa che potrebbe secondo me dare errore è questa:
TB_POS_GIACENZE%ROWTYPE
mi sapete aiutare ?

Rispondi quotando