ACCESS 可以写存储过程吗?
发布网友
发布时间:2022-04-27 10:02
我来回答
共5个回答
热心网友
时间:2022-04-10 11:35
Access 不能写存储过程. 不过可以写点 VBA 代码的 宏。
问题就在于
对于 SQL Server , 写一个 存储过程, 在 SQL Server 里面可以调用, 在 C# 等程序里面, 也可以调存储过程的。
但是 对于 Access 里面的 宏, 就没有测试过了, 在 Access 里面, 是肯定可以调用的。 就是不知道 C# 等其他程序里面, 能不能调用这个 Access 里面的 VBA 写的宏了。
至于 表A里的姓名 岗位 的所有数据 复制到 表B 的 姓名 岗位
INSERT INTO B ( 姓名, 岗位 )
SELECT 姓名, 岗位 FROM A;追问我的表B里有数据 是不是就不行了, 还有一个是我想把表A里的一起更新到表B,表C,表D
有办法吗?
追答表B里有数据的话, 那么需要知道, 你的 A 表 与 B 表 通过那一列来关联。
例如是姓名的话。
那么你可能要执行2句 SQL 语句。
一句是 更新 已有的 姓名的 岗位。
UPDATE
B
SET B.岗位 = A.岗位
FROM A, B
WHERE A.姓名 = B.姓名
一句是 插入 新的 姓名 与 岗位。
INSERT INTO B ( 姓名, 岗位 )
SELECT 姓名, 岗位 FROM A WHERE 姓名 NOT IN ( SELECT 姓名 FROM B)
至于 我想把表A里的一起更新到表B,表C,表D有办法吗?
那就是依次执行多条 SQL 语句。
来自:求助得到的回答
热心网友
时间:2022-04-10 12:53
Access已经具备了存储过程的功能,而且是Jet 4 Database Engine自带的。
1、不像在Access里的其它的对象,存储过程没有用户界面,并且不能在Access的界面里创建。要建立它们的方法只有编码。
2、示例如下:选择表格里所有行的数据。为了创建这个存储过程,在数据库执行下列SQL语句:
CREATE PROC procProctsList AS SELECT * FROM Procts;
CREATE PROC procProctsDeleteItem(inProctsID LONG) AS DELETE FROM Procts WHERE ProctsID = inProctsID;
3、注意CREATE PROC声明右边的括号。 有一个定义为长整型的参数。这是需要你输入的变量,用于删除记录。
4、下项两个分开的语句显示了如何为Proct表创建一个add和一个update储存过程。注意,为了文章的简短,过程中没有包括所有的字段:
CREATE PROC procProctsAddItem(inProctName VARCHAR(40), inSupplierID LONG, inCategoryID LONG)
AS INSERT INTO Procts (ProctName, SupplierID, CategoryID)
Values (inProctName, inSupplierID, inCategoryID);
CREATE PROC procProctsUpdateItem(inProctID LONG, inProctName VARCHAR(40))
AS UPDATE Procts SET ProctName = inProctName " WHERE ProctID = inProctID;
热心网友
时间:2022-04-10 14:28
Access确实不支持存储过程,但可以利用宏来实现类似存储过程效果,具体没用过,可以自己研究下
热心网友
时间:2022-04-10 18:27
SQL可以实现存储过程的追问这个我知道 ACCESS怎么办呢
追答没办法,只能批处理
热心网友
时间:2022-04-10 20:52
你可以全部写成批处理.哈哈