2010-07-20 21 views

Odpowiedz

37

Access 2010 zawiera zarówno procedury składowane, jak i wyzwalacze tabel. Obie funkcje są dostępne nawet wtedy, gdy nie korzystasz z serwera (czyli w trybie opartym na plikach 100%).

Jeśli używasz SQL Server z Access, to oczywiście procedury składowane są budowane przy użyciu SQL Server, a nie Access.

W programie Access 2010 można otworzyć tabelę (widok inny niż projektowy), a następnie wybrać kartę tabeli. Znajdziesz tam opcje tworzenia procedur składowania i wyzwalaczy tabel.

Na przykład:

alt text

Należy zauważyć, że język procedura przechowywana jest jego własny smak jak Oracle lub SQL Server (T-SQL). Oto przykład kodu aktualizującego spis owoców w wyniku aktualizacji tabeli zamówień owoców alt text

Należy pamiętać, że są to prawdziwe wyzwalacze tabeli na poziomie silnika. W rzeczywistości, jeśli otworzysz tabelę za pomocą VB6, VB.NET, FoxPro lub nawet zmodyfikujesz tabelę na komputerze BEZ zainstalowanego Access, zostanie wykonany kod proceduralny i wyzwalacz na poziomie tabeli. Tak więc jest to nowa funkcja strumienia danych silnika (obecnie nazywana ACE) dla Access 2010. Jak wspomniano, jest to kod proceduralny, który działa, a nie tylko pojedyncza instrukcja.

+0

dzięki ... bardzo informacyjny :) – yonan2236

+0

Interesujący char – Fionnuala

+0

użytkownik nic nie mówi o SQL Server. –

6

Jeśli chodzi o typ procedury znalezionej w programie SQL Server, przed 2010 r. Nie można tego zrobić. Jeśli chcesz kwerendę, która przyjmuje parametr, można użyć okna projektu kwerendy:

PARAMETERS SomeParam Text(10); 
SELECT Field FROM Table 
WHERE OtherField=SomeParam 

Można też powiedzieć:

CREATE PROCEDURE ProcedureName 
    (Parameter1 datatype, Parameter2 datatype) AS 
    SQLStatement 

Od: http://msdn.microsoft.com/en-us/library/aa139977(office.10).aspx#acadvsql_procs

Należy pamiętać, że procedura zawiera tylko jedno zdanie.

+0

Zobacz moją odpowiedź tutaj. Dostęp 2010 ma teraz oba wyzwalacze i kod proceduralny, który działa na poziomie silnika –

+0

. Doceniam twoje odpowiedzi, dziękuję. – yonan2236

Powiązane problemy