sql 存储过程简单写 - MS-SQL Server / 基础类
题目是 创建一个存储过程,功能是根据输入的参数形式给定的学生从xs,kc和xk表中查询出这些学生的学号姓名和所选课程的课程名和成绩
create proc test_proc2
as
select xs.xh,xsxm,kcm,cj from xs,kc,xk
exec test_proc2 ' ',' ',' ',' ' --''里的具体参数我没写
创建一个存储过程,根据已经输入参数形式给定的学生的学号统计出该学生所选的课程的平均成绩,并有输出参数带回其平均成绩
create pro test_proc3
@xsxh char
as
select avg(cj) from xk where xh=@xsxh group by kch
print cj
exec '050202104'
这样可以吗??
SQL code:
create pro test_proc3
@xsxh varchar(20),
@cj numeric(8,2) output
as
select @cj=avg(cj) from xk where xh=@xsxh
go
--调用
declare @n numeric(8,2)
exec test_proc3 '050202104',@cj=@n output
select @n
SQL code:
--1.
create proc test_proc2
@参数 参数类型
as
select xs.xh,xsxm,kcm,cj from xs,kc,xk where 连接条件 and 参数列名=@参数
GO
exec test_proc2 ' ',' ',' ',' ' --''里的具体参数我没写
--2.
create pro test_proc3
@xsxh varchar(20),
@avgcj int out
as
select @avgcj=avg(cj) from xk where xh=@xsxh group by kch
GO
declare @avgcj int
exec '050202104',@avgcj out
print @avgcj
第二个不用group by kch,没看好,自己去掉
{{
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊
多谢,可以啦,高手啊
直接执行就行了
exec ......
通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......