我正在尝试使用 Hive 查询使用现有表创建一个新表。
创建新表时,我想添加一个新列并为所有行插入当前时间戳。例如:
退出表:
|user_id|user_name|user_address|
|1001 |userName |address |
Run Code Online (Sandbox Code Playgroud)
新表:
|user_id|user_name|user_address|creation_date|
|1001 |userName |address | 123421342134|
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 JDBCTemplate 执行此查询。
我尝试过的:
Create table newTable Select * from existingtable;
Run Code Online (Sandbox Code Playgroud)
但这会复制使用旧值创建新表,我想在表创建过程中添加新列并插入值。
请帮忙。
我正在尝试学习 bigquery,但我注意到我根本无法添加主键或外键。
这是一个例子:
CREATE TABLE db.VENDOR
(
V_CODE INT64,
V_NAME String NOT NULL,
V_CONTACT String NOT NULL,
V_AREACODE String NOT NULL,
V_PHONE String NOT NULL,
V_STATE String NOT NULL,
V_ORDER String NOT NULL,
PRIMARY KEY(V_Code)
);
CREATE TABLE db.PRODUCT
(
P_CODE string Not Null,
P_DESCRIPT string NOT NULL,
P_INDATE DATETIME NOT NULL,
P_QOH int64 NOT NULL,
P_MIN int64 NOT NULL,
P_PRICE NUMERIC NOT NULL,
P_DISCOUNT NUMERIC NOT NULL,
V_CODE int64,
CONSTRAINT PRODUCT_V_CODE_FK
FOREIGN KEY (V_CODE) REFERENCES VENDOR (V_CODE)
);
Run Code Online (Sandbox Code Playgroud)
当我使用主键时,出现错误: …
我使用SYSTEM用户授予CREATE ANY TABLE用户TEST,但是当我尝试执行时
create table other.dummy ...
Run Code Online (Sandbox Code Playgroud)
我仍然得到ORA-01031: insufficient privileges
Oracle:授予在另一个模式中创建表?声称这应该有效。
我也尝试授予CREATE ANY INDEX因为该表具有 PK,因此包含索引,但这并没有改变任何内容。
GRANT ALL PRIVILEGES做到了这一点,但我更喜欢一些更有限的东西。
实际的CREATE TABLE说法是:
CREATE TABLE OTHER.DUMMY_ENTITY (
ID NUMBER GENERATED by default on null as IDENTITY PRIMARY KEY,
NAME VARCHAR2(30)
)
Run Code Online (Sandbox Code Playgroud)
除此之外我还需要授予哪些特权CREATE ANY TABLE?
对不起文本家伙的墙,但这个需要expliaining,太多的代码发布...
我在需要数据输入的方法中将固定宽度文件导入访问.我使用transferText将文件导入两个规范(一个是全局的,另一个是特殊情况).
我有一个函数,它使用DAO循环遍历TableDefs中的所有Field对象,以构建包含AutoIncrement PK的重复表,以便我能够编辑这些记录.我用INSERT INTO将数据推送到该表中.
效果很好.发现错误,用户进入数据输入以手动纠正它们,这些节拍通过筛选400个字符行并按照预期的方式重新组织所有内容.效果很好!
问题:当数据条目发生变化时,会按下一个提交按钮,该按钮调用表单外部模块内的函数.它关闭数据输入表单并将信息推回到原始表减去自动增量PK,并且被支持DROP复制表的ID,并生成一个新的再次搜索错误...
它推回原来很好,但它不会DROP ID表.总是返回给我一条消息,表明该表已被锁定.我注意到表被无限制地锁定,直到所有函数/子退出.在任何时候单步执行代码我都无法手动删除它,一旦执行完成,我就可以删除它.
我假设因为我通过表单中的命令调用它,所以在所有代码完成并且表单终止可以被调用并执行其操作之前不会释放锁.有什么想法吗?是的,这是非常野蛮但它运作良好,我只需要能够撕掉地球上的另一张桌子,这样我就可以重新制作更新的副本......
在最糟糕的情况下,我可以让用户关闭窗体并点击主窗体中的另一个按钮,但这在设计时考虑到了用户的合规性.然而,这现在我全神贯注,并希望至少找到一个解决方案,即使它不是最佳解决方案.
-编辑-
在这个问题中使用了两种形式
FormA (Role: Load in and search for problems)
Examine button is pressed that:
- Uses TextTransfer based on predefined specs into tempExtract to
import the file
- DAO fires off on the Fields collection in tableDefs for
tempExtract, creates new table tempExtractID
- Performs searches through the file to find errors. Errors are saved to
a table Problem_t. Table contains Problem_ID (Set from the ID field …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个创建多个表的MySQL脚本.我有:
CREATE TABLE `DataBase1`.`tbl_this`(
...
);
CREATE TABLE `DataBase1`.`tbl_that`(
...
);
... (14 more) ...
Run Code Online (Sandbox Code Playgroud)
但是,只执行第一个CREATE TABLE语句.我没有语法错误.嗯,我错过了MSSQL相当于GO?我在这做错了什么; 我怎么让这个宝宝跑完所有的桌子?
我使用MySQL WorkBench创建了这个
CREATE TABLE IF NOT EXISTS `bakasura_new`.`cities` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(255) NOT NULL COMMENT 'City Name' ,
`short_name` VARCHAR(255) NOT NULL COMMENT 'Short Name' ,
`country_id` INT(11) UNSIGNED NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `fk_cities_countries` (`country_id` ASC) ,
ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
MySQL说:文档
#1064 - 您的SQL语法有错误; 检查手册
对应于您的MySQL服务器版本,以便在第8行的'= InnoDB'附近使用正确的语法
SHOW CREATE TABLE <tablename> 在informix中有没有相当于MySQL的东西?我想在Server Studio上的SQL管理器中运行它,并且还希望获得有关表列及其类型的信息.这可能吗?我已经找到了systables,syscolumns和信息架构,但是对于我得到的输出结果并不幸运select * from....
我想知道你是否遇到过这种情况,当你点击phpMyAdmin上的Browse按钮时,自动增量的id号码没有按正确顺序排列- 这只是我吗?我在db表中设置错误的东西?
例如,当您将一系列数据插入到表中并且还删除了其中一些数据时,所以当您在phpMyAdmin上检查此表时,这些数据应该按照这样的顺序出现,
id
2
24
28
296
300
Run Code Online (Sandbox Code Playgroud)
但在我的大多数表格中,它们不会出现在订单中,而是出现在这样的表格中,
id
24
300
2
296
28
Run Code Online (Sandbox Code Playgroud)
如下图所示,

我们可以做些什么来使ID以正确的顺序出现吗?
编辑1:
我想大多数人都误解了我在这里突袭的问题.我的意思是当你点击phpMyAdmin上的Browser按钮列出表中的所有数据时 - 而不是当你使用SQL查询列出输出时order by.
是否有意义?

编辑2:
这是我的表格结构之一 - 它能帮助您查看其中的错误吗?
CREATE TABLE IF NOT EXISTS `root_pages` (
`pg_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`pg_url` varchar(255) DEFAULT NULL,
`pg_title` varchar(255) DEFAULT NULL,
`pg_subtitle` varchar(255) DEFAULT NULL,
`pg_description` text,
`pg_introduction` text,
`pg_content_1` text,
`pg_content_2` text,
`pg_content_3` text,
`pg_content_4` text,
`pg_order` varchar(255) DEFAULT NULL,
`pg_hide` varchar(255) DEFAULT '0',
`pg_highlight` varchar(255) DEFAULT …Run Code Online (Sandbox Code Playgroud) 我想用以下查询创建一个表:
create table something as
select
other_id,
other_title,
'0.0.0.0' as IP,
1 as used
from
other_table
Run Code Online (Sandbox Code Playgroud)
但Postgres抱怨说:
Run Code Online (Sandbox Code Playgroud)column "ip" has type "unknown"
如何将其指定为类型char?
我想创建一个像这样的列:
create table dbo.t1
(
[Notification_Month] datepart(mm, [date]) null,
)
Run Code Online (Sandbox Code Playgroud)
我想将月份存储为日期属性而不存储日期的其他部分.这是我所知道的一个奇怪的问题,但这个表正在被WPF应用程序使用,因此如果SQL Server允许这样做会更容易限制日期条目,但如果不是,我可能会找到一个使用c#的长而复杂的解决方案.
我有一些其他的解决方法,如果这是不可能的,但在我说它不是之前想过,总是最好用堆栈检查.
create-table ×10
mysql ×4
database ×2
c# ×1
casting ×1
datepart ×1
drop-table ×1
hive ×1
hiveddl ×1
hiveql ×1
informix ×1
jdbctemplate ×1
locking ×1
ms-access ×1
oracle ×1
postgresql ×1
privileges ×1
scripting ×1
show ×1
sql-grant ×1
sql-server ×1
types ×1