主要目的:利用存储过程动态生成表,表名由前台程序传过来,而且这个存储过程也是由前台程序调用的.调用时给一个字符串作为表名.
CREATE PROC createtable(tablename varchar(21))
AS
begin
create table tablename
(
usr char(21),
pwd cahr(21)
)
end ;
end createtable ;
显然这样是不行的,如何才能实现动态生成表呢?
CREATE PROC createtable(tablename varchar(21))
AS
begin
create table tablename
(
usr char(21),
pwd cahr(21)
)
end ;
end createtable ;
显然这样是不行的,如何才能实现动态生成表呢?
解决方案 »
- 帮帮忙,SQL语句
- 急需:如何把Access2000中的数据导入到Oracle中呀,好像是表也可以自动生成的,没有用过Access。谢了
- 触发器需要提交吗?
- 这个SQL语句怎么写,求助
- 在Oracle中,能说说建立 Sequences的作用吗?
- 我新建一个用户,只赋予了create session和alter session两个权限,为什么用该用户能看到并修改其它某些表?
- 我想比较两个oracle数据库表结构的差异,有现成的工具或脚本吗
- 紧急、、、寻找工具软件 dbverify!在线等待,谢谢!!!!!!!!!!!!!
- case when 可不可以判斷某字段是否為空。如:case when bookqty1 is null then bookqty1 else bookqty2
- plsql命令导出数据库为什么低版本的导出往高版本里面导入会报不是有效的导出文件,标头验证失败
- 有高人知道sqlplus 在linux 中默认路径是什么?
- 替代值问题
CREATE OR REPLACE PROCEDURE CREATETABLE(TABLENAME IN VARCHAR2) IS
VarSQLStr Varchar2(4000);
BEGIN
VarSQLStr := 'CREATE TABLE ' || TABLENAME || '(USR CHAR(21),PWD CHAR(21))';
EXECUTE IMMEDIATE VarSQLStr;
IF Sql%Found then
commit;
else
rollback;
end if;
END;