oracle 不能是用变量来作为列名和表名 ,但使用动态sql可以;
ORACLE 不能使用变量来作为列名 和表名 一下是个人的一些验证:
DECLARE
ename1 emp.ename%TYPE ;
TYPE index_emp_type IS TABLE OF VARCHAR2(100) INDEX BY PLS_INTEGER ;
index_emp index_emp_type ;
BEGIN
index_emp(1) := 'e.ename';
SELECT index_emp(1) INTO ename1 FROM emp e WHERE e.empno=7369;
EXECUTE IMMEDIATE 'select ' || index_emp(1) || ' from emp e where e.empno=7369' into ename1 ;
dbms_output.put_line(index_emp(1));
dbms_output.put_line(ename1);
END; DECLARE
x VARCHAR2(100) := 'ename';
y VARCHAR2(100) ;
BEGIN
SELECT x INTO y FROM emp WHERE empno=7369;
dbms_output.put_Line(y);
END; DECLARE
x VARCHAR2(100) := 'ename';
y VARCHAR2(100) ;
BEGIN
EXECUTE IMMEDIATE 'select ' || x || ' from emp where empno=7369' into y ;
dbms_output.put_line(y);
END; SELECT CHR(&1+67) FROM dual ; SELECT &1 FROM emp ; CREATE TABLE test_coloumn (
A NUMBER ,
B NUMBER ,
C NUMBER ,
D NUMBER ,
E NUMBER ,
F NUMBER
); TRUNCATE TABLE test_coloumn ;
SELECT * FROM test_coloumn ;
SELECT CHR(1+67) FROM test_coloumn WHERE a=1 ;
SELECT D FROM test_coloumn WHERE a=1 DECLARE
X NUMBER ;
BEGIN
-- SELECT CHR(1+67) INTO X FROM test_coloumn WHERE a=1 ;
-- DBMS_OUTPUT.put_line(X);
dbms_output.put_line(CHR(1+67));
END;
oracle 不能是用变量来作为列名和表名 ,但使用动态sql可以;的更多相关文章
- PowerDesign设置列名与表名的大小写规则
因为设计的Model是要用到Oracle 11g的,Oracle 11g的表名和列名默认是大写,在设计模型当中小写转大写一直很苦闹,发现PowerDedign可以直接设置,见下文: 打开Tools-- ...
- 小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入
SQL手工注入 靶机:metasploitable(低) 1.当无权读取infomation_schema库[MySQL最重要的源数据库,必须有root权限]/拒绝union.order by语句 ...
- oracle 中如何查询当前用户可以看到的表名、表对应的所有字段
前言:利用 oracle 的视图来查询表的相关信息. oracle 查询当前用户下的表名 + 表注释 select t.table_name tableName, f.comments comment ...
- sql 修改列名及表名 sp_rename
因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可以用script搞定, 代码如下: EXEC s ...
- oracle分区表彻底删除的办法,处理删不掉的不规则表名
Oracle分区表彻底删除的办法当对一个不再使用的分区表进行drop后,查询user_tab_partitions视图发现出现如下不规则的分区表表名:SQL> select distinct t ...
- SQL-修改表名,列名
sql 1.sql server修改表名.列名 修改表名:EXEC sp_rename ‘原有表名’, '新表名'; 修改列名:EXEC sp_rename ‘表名.[原有列名]’, ‘新列名' , ...
- ORACLE中使用DBMS_SQL获取动态SQL执行结果中的列名和值
1.获取动态SQL中的列名及类型 DECLARE l_curid INTEGER; l_cnt NUMBER; l_desctab dbms_sql.desc_tab; l_sqltext ); BE ...
- SQLSERVER和ORACLE系统表获取表名 列名以及列的注释
在工作中从数据库取的数据要导出来,但是发现导出的EXCEL中列名都是字段名(英文),为此搜集资料怎么把字段名变为中文名称,而发现ORACLE和SQLSERVER(用的SQLSERVER2008R2)又 ...
- oracle存储过程、声明变量、for循环|转|
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
随机推荐
- ruby on rails 环境搭建(mac or ubuntu)
环境配置前操作 mac: app_store安装x-code ubuntu: 终端->配置文件->首选项->命令->以shell方式登录 安装RVM mac: $ ruby - ...
- Python学习笔记九:装饰器,生成器,迭代器
装饰器 本质是函数,装饰其他函数,为其他函数添加附加功能 原则: 1不修改原函数的源代码 2不修改原函数的调用方式 知识储备: 1函数即变量 使用门牌号的例子说明函数,调用方式与变量一致 2高阶函数 ...
- Java ThreadLocal 源代码分析
Java ThreadLocal 之前在写SSM项目的时候使用过一个叫PageHelper的插件 可以自动完成分页而不用手动写SQL limit 用起来大概是这样的 最开始的时候觉得很困惑,因为直接使 ...
- anaconda安装包找不到
Anaconda作为一个工具包集成管理工具,下载python工具包是很方便的,直接敲: conda install package_name 1 但是有时候安装一个工具包(如skimage)的时候,在 ...
- Oracle Data Provider for .NET Support for Microsoft .NET Core
Oracle Data Provider for .NET Support for Microsoft .NET Core的官方地址,记录下来,按照官方描述,会在2017年底左右发布,暂时还没有看到相 ...
- 20155210 潘滢昊 2016-2017-2 《Java程序设计》第3周学习总结
20155210 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 class xxx{ }:定义类 运用: class Clothes{ String col ...
- 20155318 《Java程序设计》实验三 (敏捷开发与XP实践)实验报告
20155318 <Java程序设计>实验三 (敏捷开发与XP实践)实验报告 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化 ...
- 跨域发送HTTP请求详解
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述几种跨域发HTTP请求的几种方法,POST请求,GET请求 目录: 一,采用JsonP的方式(只能 ...
- C# webapi 路由规则和接收数据
1:新建的web api项目 默认的访问api方式: (get,post,delect,put) api+控制器 以Post为例子 post提交单个参数: 接收方法 post提交多个参数 接 ...
- 第七章移动互联网与移动IP
第七章移动互联网与移动IP 本章延续前几章节,对该章节内容进行归纳总结. 文章中的Why表示产生的背景,也就是说为什么会产生该技术,What表示该技术是什么,How表示该技术是如何使用的.以下将用字母 ...