create external table emp110 (mepno int, name string, job string, mgr int, hiredate date, sal int, comm int, deptno int) partitioned by (deptno int) row format deliminated fields terminated by ',';
时间: 2023-05-19 19:02:35 浏览: 134
这是一个 HiveQL 的语句,用于创建一个外部表 emp110,该表包含 mepno、name、job、mgr、hiredate、sal、comm 和 deptno 等字段,并按照 deptno 进行分区。每行数据的字段之间使用逗号进行分隔。
相关问题
创建表emp,并插入 EMPNO、ENAME、JOB、MGR、HIREDATE、SAL、COMM 和 DEPTNO这些列
好的,以下是创建表emp并插入数据的SQL语句:
```
CREATE TABLE emp (
EMPNO NUMBER(4) PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
);
INSERT INTO emp VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('1980-12-17', 'YYYY-MM-DD'), 800, NULL, 20);
INSERT INTO emp VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('1981-02-20', 'YYYY-MM-DD'), 1600, 300, 30);
INSERT INTO emp VALUES (7521, 'WARD', 'SALESMAN', 7698, TO_DATE('1981-02-22', 'YYYY-MM-DD'), 1250, 500, 30);
INSERT INTO emp VALUES (7566, 'JONES', 'MANAGER', 7839, TO_DATE('1981-04-02', 'YYYY-MM-DD'), 2975, NULL, 20);
INSERT INTO emp VALUES (7654, 'MARTIN', 'SALESMAN', 7698, TO_DATE('1981-09-28', 'YYYY-MM-DD'), 1250, 1400, 30);
INSERT INTO emp VALUES (7698, 'BLAKE', 'MANAGER', 7839, TO_DATE('1981-05-01', 'YYYY-MM-DD'), 2850, NULL, 30);
INSERT INTO emp VALUES (7782, 'CLARK', 'MANAGER', 7839, TO_DATE('1981-06-09', 'YYYY-MM-DD'), 2450, NULL, 10);
INSERT INTO emp VALUES (7788, 'SCOTT', 'ANALYST', 7566, TO_DATE('1982-12-09', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO emp VALUES (7839, 'KING', 'PRESIDENT', NULL, TO_DATE('1981-11-17', 'YYYY-MM-DD'), 5000, NULL, 10);
INSERT INTO emp VALUES (7844, 'TURNER', 'SALESMAN', 7698, TO_DATE('1981-09-08', 'YYYY-MM-DD'), 1500, 0, 30);
INSERT INTO emp VALUES (7876, 'ADAMS', 'CLERK', 7788, TO_DATE('1983-01-12', 'YYYY-MM-DD'), 1100, NULL, 20);
INSERT INTO emp VALUES (7900, 'JAMES', 'CLERK', 7698, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 950, NULL, 30);
INSERT INTO emp VALUES (7902, 'FORD', 'ANALYST', 7566, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO emp VALUES (7934, 'MILLER', 'CLERK', 7782, TO_DATE('1982-01-23', 'YYYY-MM-DD'), 1300, NULL, 10);
```
这个SQL语句会先创建一个名为emp的表,包含EMPNO、ENAME、JOB、MGR、HIREDATE、SAL、COMM和DEPTNO这些列,并将EMPNO列设为主键。然后,通过INSERT INTO语句向表中插入了一些数据。
有员工关系emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) (1)创建存储过程emp_p,用游标提取emp表中3344雇员的姓名和职务; (2)调用存储过程emp_p。
好的,我可以帮你写出对应的存储过程代码:
```
CREATE PROCEDURE emp_p
AS
BEGIN
DECLARE @empno INT, @ename VARCHAR(50), @job VARCHAR(50)
-- 创建游标
DECLARE emp_cursor CURSOR FOR
SELECT empno, ename, job
FROM emp
WHERE empno = 3344
-- 打开游标
OPEN emp_cursor
-- 循环遍历游标
FETCH NEXT FROM emp_cursor INTO @empno, @ename, @job
WHILE @@FETCH_STATUS = 0
BEGIN
-- 输出姓名和职务
PRINT '姓名:' + @ename + ',职务:' + @job
-- 继续往下遍历游标
FETCH NEXT FROM emp_cursor INTO @empno, @ename, @job
END
-- 关闭游标
CLOSE emp_cursor
DEALLOCATE emp_cursor
END
```
然后你可以通过以下代码调用存储过程:
```
EXEC emp_p
```
阅读全文