易截截图软件、单文件、免安装、纯绿色、仅160KB

动态SQL(Dynamic SQL)

----start
    动态SQL是在程序运行时构造的,要执行单条SQL,使用EXECUTE IMMEDATE 语句;当批量执行SQL时,先使用PREPARE 语句构造SQL,然后使用EXECUTE 语句执行。
一:Prepare语句:用来构造批量SQL
语法:
PREPARE <sql-statement> [OUTPUT] INTO <result> [INPUT INTO] <input> from <variable> 
二:DESCRIBE语句:获取表、SQL等数据库对象的描述信息
语法:
>>-DESCRIBE----------------------------------------------------->
.-OUTPUT-.
>--+-+--------+--+-select-statement---------+--------------------------------+-><
| +-call-statement-----------+ |
| '-XQUERY--XQuery-statement-' |
'-+-TABLE----------------------------------+--table-name--+-------------+-'
+-+-----------------+--INDEXES FOR TABLE-+ '-SHOW DETAIL-'
| +-RELATIONAL DATA-+ |
| +-XML DATA--------+ |
| '-TEXT SEARCH-----' |
'-DATA PARTITIONS FOR TABLE--------------' 
三:Execute语句:用来执行批量SQL,不能执行select语句
语法:
EXECUTE <statement-name> [INTO <result-variable>] [USING <input-variable> [,<input-variable>,...] ] 
四:Execute Immediate语句:用来执行单条SQL语句,不能执行select语句
语法:
EXECUTE IMMEDIATE <sql-statement>
五:示例
--连接数据库
CONNECT TO SAMPLE!

--创建表
CREATE TABLE TESTTB(A INT, B INT)!

--删除存储过程
DROP PROCEDURE TEST!

--创建存储过程
CREATE PROCEDURE TEST (IN V1 INT, IN V2 INT)
BEGIN
DECLARE STMT VARCHAR(50);
DECLARE ST STATEMENT;

--静态SQL
INSERT INTO TESTTB VALUES (1,1);

--动态SQL(单条语句)
SET STMT='INSERT INTO TESTTB VALUES (' ||


相关文档:

PL/SQL 取得删除纪录的条数

怎样统计PLSQL语言中删除语句执行之后一共删除了多少条纪录。
Oracle使用两种光标:显式光标和隐式光标。不管语句返回多少条纪录,PL/SQL为使用的每一条UPDATE、DELETE和INSERT等SQL命令隐式的声明一个光标。(要管理SQL语句的处理,必须隐式的给它定义一个光标。)
在PL/SQL中,当执行DML语句的时候,会自动打开一个隐式 ......

sql的几个排序函数

1用于排序的函数
row_number()
rank()
dense_rank()
ntile(group_number)
下面列举这个函数的用法:
row_number()函数一般用于组内排序,而其他三个函数是对结果集排序
例子:分页排序
<!--注意全局变量也在这里声明,并用逗号隔开-->
create proc MyDividePageSort @iRowCount int ,@iPageNo int
AS
< ......

SQL语句 联合查询还是在查询结果中嵌套

TABLE MASTER   字段 ID DETAIL.....
TABLE BIZ   字段 SYS_ID  CODE_ID .......
查询时需要的是ID的描述
1,SELECT A.SYS_ID,A.CODE_ID,B.DETAIL,C.DETAIL...... from BIZ A,MASTER B,MASTER C WHERE A.SYS_ID=B.ID AND A.CODE_ID=C.ID
2,SELECT SYS_ID,(SELECT DETAIL from MASTER ......

SQL 大全 心雨之家

1.按姓氏笔画排序:
Select * from TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
2.数据库加密:
select encrypt('原始密码')
select pwdencrypt('原始密码')
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
select pwdencrypt('原始密码')
select pw ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号