6个回答
展开全部
Access 不能写存储过程. 不过可以写点 VBA 代码的 宏。
问题就在于
对于 SQL Server , 写一个 存储过程, 在 SQL Server 里面可以调用, 在 C# 等程序里面, 也可以调存储过程的。
但是 对于 Access 里面的 宏, 就没有测试过了, 在 Access 里面, 是肯定可以调用的。 就是不知道 C# 等其他程序里面, 能不能调用这个 Access 里面的 VBA 写的宏了。
至于 表A里的姓名 岗位 的所有数据 复制到 表B 的 姓名 岗位
INSERT INTO B ( 姓名, 岗位 )
SELECT 姓名, 岗位 FROM A;
问题就在于
对于 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 语句。
来自:求助得到的回答
推荐于2016-12-01 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517190
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
Access已经具备了存储过程的功能,而且是Jet 4 Database Engine自带的。
1、不像在Access里的其它的对象,存储过程没有用户界面,并且不能在Access的界面里创建。要建立它们的方法只有编码。
2、示例如下:选择表格里所有行的数据。为了创建这个存储过程,在数据库执行下列SQL语句:
CREATE PROC procProductsList AS SELECT * FROM Products;
CREATE PROC procProductsDeleteItem(inProductsID LONG) AS DELETE FROM Products WHERE ProductsID = inProductsID;
3、注意CREATE PROC声明右边的括号。 有一个定义为长整型的参数。这是需要你输入的变量,用于删除记录。
4、下项两个分开的语句显示了如何为Product表创建一个add和一个update储存过程。注意,为了文章的简短,过程中没有包括所有的字段:
CREATE PROC procProductsAddItem(inProductName VARCHAR(40), inSupplierID LONG, inCategoryID LONG)
AS INSERT INTO Products (ProductName, SupplierID, CategoryID)
Values (inProductName, inSupplierID, inCategoryID);
CREATE PROC procProductsUpdateItem(inProductID LONG, inProductName VARCHAR(40))
AS UPDATE Products SET ProductName = inProductName " WHERE ProductID = inProductID;
1、不像在Access里的其它的对象,存储过程没有用户界面,并且不能在Access的界面里创建。要建立它们的方法只有编码。
2、示例如下:选择表格里所有行的数据。为了创建这个存储过程,在数据库执行下列SQL语句:
CREATE PROC procProductsList AS SELECT * FROM Products;
CREATE PROC procProductsDeleteItem(inProductsID LONG) AS DELETE FROM Products WHERE ProductsID = inProductsID;
3、注意CREATE PROC声明右边的括号。 有一个定义为长整型的参数。这是需要你输入的变量,用于删除记录。
4、下项两个分开的语句显示了如何为Product表创建一个add和一个update储存过程。注意,为了文章的简短,过程中没有包括所有的字段:
CREATE PROC procProductsAddItem(inProductName VARCHAR(40), inSupplierID LONG, inCategoryID LONG)
AS INSERT INTO Products (ProductName, SupplierID, CategoryID)
Values (inProductName, inSupplierID, inCategoryID);
CREATE PROC procProductsUpdateItem(inProductID LONG, inProductName VARCHAR(40))
AS UPDATE Products SET ProductName = inProductName " WHERE ProductID = inProductID;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Access确实不支持存储过程,但可以利用宏来实现类似存储过程效果,具体没用过,可以自己研究下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Access确实不支持存储过程,但可以利用宏来实现类似存储过程效果,具体没用过,可以自己研究下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL可以实现存储过程的
追问
这个我知道 ACCESS怎么办呢
追答
没办法,只能批处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询