aqlserver2005 函数
时间:2011-12-19
来源:互联网
returns @score1 (int)
begin
select 刊物级别 as 刊物级别
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志' then 80
when 刊物级别='会议论文' then 70
end as score
from 论文
消息 156,级别 15,状态 1,过程 biantolunscore,第 3 行
关键字 'begin' 附近有语法错误。
消息 156,级别 15,状态 1,过程 biantolunscore,第 5 行
关键字 'case' 附近有语法错
谢谢
作者: zhongqi2012 发布时间: 2011-12-19
作者: fredrickhu 发布时间: 2011-12-19
create function biantolunscore returns @score1 (int) begin select 刊物级别 as 刊物级别 , --这缺个逗号 case when 刊物级别='核心期刊' then 100 when 刊物级别='一般期刊' then 90 when 刊物级别='报纸杂志' then 80 when 刊物级别='会议论文' then 70 end as score from 论文 end --这缺个end
作者: maco_wang 发布时间: 2011-12-19
这个写函数没必要吧 视图搞定好了!
作者: szstephenzhou 发布时间: 2011-12-19
create function biantolunscore ( @score1 int ) returns int begin select 刊物级别 as 刊物级别 , --这缺个逗号 case when 刊物级别='核心期刊' then 100 when 刊物级别='一般期刊' then 90 when 刊物级别='报纸杂志' then 80 when 刊物级别='会议论文' then 70 end as score from 论文 end --这缺个end
作者: fredrickhu 发布时间: 2011-12-19
返回的是标量值
没看出来你要返回什么
作者: wufeng4552 发布时间: 2011-12-19
SQL code
create function biantolunscore
(
@score1 int
)
returns int
begin
select 刊物级别 as 刊物级别 , --这缺个逗号
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志' then 8……

作者: wufeng4552 发布时间: 2011-12-19
1. returns @score1 (int)
这句应该写成 returns int
2.select 刊物级别 as 刊物级别,--这里缺个逗号
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志' then 80
when 刊物级别='会议论文' then 70
end as score
3.另外你既然写了returns
那么在函数结尾应该有个return (变量名或数值常量)
作者: pengxuan 发布时间: 2011-12-19
SQL code
create function biantolunscore
(
@score1 int
)
returns int
begin
select 刊物级别 as 刊物级别 , --这缺个逗号
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志' then 8……
20分的帖子
也抢?
作者: wufeng4552 发布时间: 2011-12-19
SQL code
create function biantolunscore
(
@score1 int
)
returns int
begin
select 刊物级别 as 刊物级别 , --这缺个逗号
++(眼尖)
作者: ju523756055 发布时间: 2011-12-19
create function biantolunscore
returns @score1 (int)
begin
select 刊物级别 as 刊物级别
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志' then 80
when 刊物级别='会议论文' then 70
end……
作者: lz_sha 发布时间: 2011-12-19
SQL code
create function biantolunscore
returns @score1 (int)
begin
select 刊物级别 as 刊物级别 , --这缺个逗号
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志' then 80
when 刊物……
确定了刊物级别,就确定了分数,是不是应该用函数触发器?
作者: zhongqi2012 发布时间: 2011-12-19
引用 2 楼 maco_wang 的回复:
SQL code
create function biantolunscore
returns @score1 (int)
begin
select 刊物级别 as 刊物级别 , --这缺个逗号
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊' then 90
when 刊物级别='报纸杂志……
你的意思是根据刊物级别得到分数?
建议你给出表结构,测试数据及要想的结果。
作者: maco_wang 发布时间: 2011-12-19
引用 11 楼 zhongqi2012 的回复:
引用 2 楼 maco_wang 的回复:
SQL code
create function biantolunscore
returns @score1 (int)
begin
select 刊物级别 as 刊物级别 , --这缺个逗号
case
when 刊物级别='核心期刊' then 100
when 刊物级别='一般期刊……
是的
作者: zhongqi2012 发布时间: 2011-12-19
谢谢
作者: zhongqi2012 发布时间: 2011-12-19
CREATE FUNCTION biantolunscore ( @score1 INT ) RETURNS INT AS BEGIN SET @score1 = ( SELECT CASE WHEN 刊物级别 = '核心期刊' THEN 100 WHEN 刊物级别 = '一般期刊' THEN 90 WHEN 刊物级别 = '报纸杂志' THEN 80 WHEN 刊物级别 = '会议论文' THEN 70 END FROM 论文 ) RETURN @score1 END
作者: wufeng4552 发布时间: 2011-12-19
CREATE TABLE chen ( id int, title varchar(20), types varchar(20) ) INSERT INTO chen(id,title,types)VALUES(1,'第一刊物','核心期刊') INSERT INTO chen(id,title,types)VALUES(2,'第二刊物','报纸杂志') INSERT INTO chen(id,title,types)VALUES(3,'第三刊物','一般期刊') INSERT INTO chen(id,title,types)VALUES(4,'第四刊物','核心期刊') INSERT INTO chen(id,title,types)VALUES(5,'第五刊物','报纸杂志') INSERT INTO chen(id,title,types)VALUES(6,'第六刊物','报纸杂志') INSERT INTO chen(id,title,types)VALUES(7,'第七刊物','一般期刊') INSERT INTO chen(id,title,types)VALUES(8,'第八刊物','会议论文') INSERT INTO chen(id,title,types)VALUES(9,'第九刊物','会议论文') INSERT INTO chen(id,title,types)VALUES(10,'第十刊物','核心期刊')
SQL code
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= CREATE FUNCTION chens ( -- Add the parameters for the function here --<@param1, sysname, @p1> <Data_Type_For_Param1, , int>, --<@param2, sysname, @p2> <Data_Type_For_Param2, , char> ) RETURNS TABLE AS RETURN ( -- Add the SELECT statement with parameter references here SELECT id,title,types, (CASE WHEN types='核心期刊' then 100 WHEN types='一般期刊' then 90 WHEN types='报纸杂志' then 80 WHEN types='会议论文' then 70 END) AS core FROM chen ) GO
SELECT * FROM chens()
作者: chenguang79 发布时间: 2011-12-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28