mysql为四个表创建储存过程或者储存函数

mysql为四个表创建储存过程或者储存函数我自己写的代码,大神看看能就这个写储存过程吗?另外创建储存过程或者函数需要建立主外键联系吗?createdatabaseGYK;... mysql为四个表创建储存过程或者储存函数我自己写的代码,大神看看能就这个写储存过程吗?另外创建储存过程或者函数需要建立主外键联系吗?
create database GYK;
USE GYK;
CREATE TABLE gy(
id char(11)PRIMARY KEY ,
name varchar(40),
sid char(11),
price tinyint
);

CREATE TABLE gk(
gid char(11) PRIMARY KEY,
name varchar(8),
address varchar(40),
yu tinyint
);

CREATE TABLE dd(
sid char(11) PRIMARY KEY ,
gid char(11),
date varchar(30)
);

CREATE TABLE sp(
sid char(11) ,
name varchar(40) PRIMARY KEY ,
shuliang tinyint
);
展开
 我来答
百度网友88e38f0
2017-12-11 · TA获得超过1538个赞
知道小有建树答主
回答量:5053
采纳率:57%
帮助的人:334万
展开全部
“另一个存储过程”的名字是sp1,没有参数,返回的结果集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集
如下
CREATE PROCEDURE sp2
AS
DECLARE @t table(a int,b int,c int)

INSERT INTO @t(a,b,c)
EXEC sp1

SELECT * FROM @t
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用。
创建存储过程
  和数据表一样,在使用之前需要创建存储过程,它的简明语法是:

引用:
Create PROC 存储过程名称
[参数列表(多个以“,”分隔)]
AS
SQL 语句

例:

引用:
Create PROC upGetUserName
@intUserId INT,
@ostrUserName NVARCHAR(20) OUTPUT -- 要输出的参数
AS
BEGIN
-- 将uName的值赋给 @ostrUserName 变量,即要输出的参数
Select @ostrUserName=uName FROM uUser Where uId=@intUserId
END

  其中 Create PROC 语句(完整语句为Create PROCEDURE)的意思就是告诉SQL SERVER,现在需要建立一个存储过程,upGetUserName 就是存储过程名称,@intUserId 和 @ostrUserName 分别是该存储过程的两个参数,注意,在SQL SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式