社区
疑难问题
帖子详情
常用SQL语句的使用问题
VertyNew
2007-03-09 10:50:43
各位SQL高手、大师们:
小弟有一SQL语法不会使用,向大家请教!万分感谢。
正常语法
Select 字段1,字段2,字段3 From 表 Where 字段1=值
现在要改写成
Select A=字段1,B=字段2,C=字段3 From 表 Where A=值
也就是用我定义的字段名代替原数据表字段名,在条件、分组、排序中可以直接引用我定义的字段名,能不能实现,应该怎么写??
用在Update、Delete中能否实现??
语法在MySQL、Oracle中是否可通用??
...全文
246
5
打赏
收藏
常用SQL语句的使用问题
各位SQL高手、大师们: 小弟有一SQL语法不会使用,向大家请教!万分感谢。 正常语法 Select 字段1,字段2,字段3 From 表 Where 字段1=值 现在要改写成 Select A=字段1,B=字段2,C=字段3 From 表 Where A=值 也就是用我定义的字段名代替原数据表字段名,在条件、分组、排序中可以直接引用我定义的字段名,能不能实现,应该怎么写?? 用在Update、Delete中能否实现?? 语法在MySQL、Oracle中是否可通用??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dali88888
2007-03-11
打赏
举报
回复
Select A=字段1,B=字段2,C=字段3 From 表 Where A=值
这个用动态实现SQL,学习ing
edsoft
2007-03-11
打赏
举报
回复
关注
冷箫轻笛
2007-03-09
打赏
举报
回复
可以用视图实现
create table tab111
(
id int
)
insert into tab111 select 1
insert into tab111 select 2
insert into tab111 select 3
create view v_tab111
as
select id as xuehao from tab111
update v_tab111 set xuehao = 4 where xuehao >= 3
select * from tab111
--结果
1
2
4
delete from v_tab111 where xuehao > 3
select * from tab111
--结果
1
2
OracleRoob
2007-03-09
打赏
举报
回复
也就是用我定义的字段名代替原数据表字段名,在条件、分组、排序中可以直接引用我定义的字段名,能不能实现,应该怎么写??
---------------------------------------
用动态SQL。
用在Update、Delete中能否实现??
---------------------------------------
用动态SQL。
语法在MySQL、Oracle中是否可通用??
-------------------------------------------
不通用。
SQL Server使用的是T-SQL,而Oracle使用的是PL/SQL。
动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格
当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句会报错
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3. 输出参数
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num
baoshan
2007-03-09
打赏
举报
回复
不能实现,在update 和delete中也不行
select A,B,C from (Select A=字段1,B=字段2,C=字段3 From 表) a Where A=值
经典
SQL语句
大全(文档)
经典
SQL语句
大全(文档),绝对实用,都是一些
常用
的语句,可以帮助你很快找到灵感!
SQL学习资料(包含所有
常用
的语句例子)
sql学习必备,内含sql一些
常用
语句的例子,有图有表,通过结果来理解
sql语句
的实现与结果。
零基础快速上手【软件测试
常用
SQL语句
】实战课程
跟着课程大纲学习,了解数据库,了解软件测试过程中
常用
SQL语句
,在以后的测试工作中,可以通过查询数据,分析数据,定位BUG。 课程大纲如下: 数据库的概念
常用
数据库软件+数据库理解 数据库服务器连接工具介绍 ...
SQL语句
集锦
该资料整合了
常用
的
sql语句
,可以在平时的工作学习中起到指导作用。
史上超强最
常用
SQL语句
大全
史上超强最
常用
SQL语句
大全,) 1)DDL--数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等 2) DML--数据操作语言 用来对数据库中表的数据进行增删改。关键字:insert, delete, ...
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章